enterprise javabeans 3 - hjr · enterprise javabeans 3.1 einstieg, umstieg, praxis und referenz ......

16
Uwe Rozanski Enterprise JavaBeans 3.1 Einstieg, Umstieg, Praxis und Referenz inklusive CD-ROM

Upload: others

Post on 25-Jun-2020

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Enterprise JavaBeans 3 - HJR · Enterprise JavaBeans 3.1 Einstieg, Umstieg, Praxis und Referenz ... prise JavaBeans und die Java Persistence API. Es ... application.xml 762 Eclipse

Uwe Rozanski

Enterprise JavaBeans 3.1Einstieg, Umstieg, Praxis und Referenz

Außerdem zum Themabei mitp:

ISBN 978-3-8266-5603-3

ISBN 978-3-8266-5601-9

ISBN 978-3-8266-1780-5

(D) €

39

,95

ISBN 978-3-8266-9066-2ISBN 978-3-8266-9066-2

Roza

nski

Aus dem Inhalt:Einrichten der Entwick-• lungsumgebung mit Eclipse und JBoss

Clientprogrammierung • mit JSP

Stateless, Stateful und • Singleton Session Beans

Message-Driven Beans•

Timer Service•

Entity Beans und die • Persistenzschicht

EntityManager•

Arbeiten mit und Einsatz • von Entity Beans

Annotations für Entity • Beans

Beziehungen zwischen • Entity Beans

Tabellenstrukturen und • Vererbungen

Abfragen und EJB QL•

Criteria API•

Transaktionen•

XML Mapping für Entities•

Interceptors und Entity • Listener

Security•

Webservices•

Beispiel Webshop•

Auf der CD:Java 6.0, Eclipse, JBoss, alle Beispiele aus dem Buch (Beispiele auch auf www.mitp.de/9066 zum kostenlosen Download)

Der Einsatz von Enterprise JavaBeans ist bei der Programmierung von serverseitigen Unterneh-mensanwendungen Standard. Dieses Buch behan-delt den neuesten Entwicklungsstand der Enter-prise JavaBeans und die Java Persistence API. Es bietet eine übersichtliche Darstellung der komple-xen EJB-Welt und zeigt anhand zahlreicher prak-tischer Beispiele, Übungsaufgaben und Muster-lösungen, wie Sie effizient und erfolgreich EJBs programmieren. Gleich zu Anfang wird eine Ent-wicklungsumgebung mit Eclipse und JBoss aufge-baut, damit die Beispiele in der Praxis nachvollzo-gen werden können.

Uwe Rozanski erläutert ausführlich den Aufbau und die Anwendung jeder einzelnen Beanart. Jedes Kapitel enthält zahlreiche Beispiele, die den konkreten Einsatz der Beans anhand von Source-code aufzeigen. In einem großen Teil des Buches wird eine Kundenverwaltung aufgebaut und wei-terentwickelt, um die praktische Verwendung der einzelnen Beanarten konkret aufzuzeigen.

Zusätzlich werden auch so wichtige Themen behandelt wie der Transaktionsschutz, die Ver-wendung von XML Deployment Descriptoren, Security und Webservices. Des Weiteren geht der Autor in einzelnen Abschnitten auf Unterschiede zu EJB 2.1 und EJB 3.0 ein. Ein vollständiges Bei-spiel eines Webshops rundet das Buch ab. Hier fin-den Sie auch wichtige Hinweise für die Erstellung größerer Projekte.

Mit diesem Buch wird es Ihnen gelingen, die kom-pliziert wirkende EJB-Welt zu verstehen und EJBs effektiv für Ihre Anwendungen einzusetzen. Das Buch ist so aufgebaut, dass es sich sowohl zum Selbststudium als auch als Seminarunterlage eig-net. Durch den strukturierten Aufbau ist es eben-falls langfristig als Referenz einsetzbar.

Über den Autor:Uwe Rozanski hält seit 1988 Seminare zu Groß-rechner- und Client/Server-Systemen, hat in zahl-reichen IT-Projekten umfangreiche Erfahrungen gesammelt und bereits Bücher zu Cobol, Silverlight und EJB 3.0 geschrieben.

Aufbau, Anwendung und Einsatz aller Beanarten

Java Persistence API, Criteria API, XML Deployment Descriptor, Transaktionsschutz, Security, Webservices

Praxisbeispiele und Übungen mit Musterlösungen zu jedem Kapitel, vollständiges Beispiel eines Webshops

inklusive CD-ROM

Ente

rpris

e Ja

vaBe

ans

3.1

Eins

tieg,

Um

stie

g, P

raxi

s un

d Re

fere

nz

978-3-8266-9066-2_umschlag06.indd 1 28.02.2011 14:46:12

Page 2: Enterprise JavaBeans 3 - HJR · Enterprise JavaBeans 3.1 Einstieg, Umstieg, Praxis und Referenz ... prise JavaBeans und die Java Persistence API. Es ... application.xml 762 Eclipse

781

Stichwortverzeichnis

Symbole@Access 344@AccessTimeout 172

Singleton Session Beans 196@ActivationConfigPropery 207@ApplicationException 150, 158, 589@AroundInvoke 666@AroundTimeout 669@AssociationOverride 463, 654@AssociationOverrides 465@Asynchronous 104@AttributeOverride 462, 635@AttributeOverrides 462@Basic 368, 637@Cacheable 370@CollectionTable 448, 656@Column 257, 355, 632@ColumnResult 351, 627@ConcurrencyManagement

Singleton Session Beans 194@DeclareRoles 693@DenyAll 688@DependsOn 185@DiscriminatorColumn 461, 662@DiscriminatorValue 461, 661@EJB 83, 283, 754, 756@ElementCollection 444, 654@Embeddable 444, 663@Embedded 440, 656@EmbeddedId 357, 634@Entity 38, 256, 343, 658@EntityListeners 675@EntityResult 350, 625@Enumerated 372, 638@ExcludeClassInterceptor 672@ExcludeDefaultInterceptors 671@ExcludeDefaultListeners 629, 676@ExcludeSuperclassListeners 629@FieldResult 351, 626@GeneratedValue 360, 633@Id 256, 356, 631

@IdClass 359, 628@Inheritance 449, 661@Init 149@Interceptors 668@JoinColumn 400, 640@JoinColumns 402@JoinTable 413, 641@Lob 370, 637@Local 81, 82, 148, 181@LocalBean 84@LocalHome 148@Lock

Singleton Session Beans 195@ManyToMany 410, 652@ManyToOne 407, 639@MapKey 417, 646@MapKeyClass 417, 646@MapKeyColumn 418, 649@MapKeyEnumerated 419, 648@MapKeyJoinColumn 420, 649@MapKeyJoinColumns 422@MapKeyTemporal 423, 647@MappedSuperclass 459, 627@MapsId 409@MessageDriven 206@NamedNativeQueries 349@NamedNativeQuery 290, 348, 624@NamedQueries 41, 347@NamedQuery 41, 289, 345, 622@OneToMany 404, 644@OneToOne 394, 650@Oneway 719@OrderBy 414, 644@OrderColumn 645@PermitAll 686@PersistenceContext 41, 261, 282, 285@PersistenceUnit 285@PostActivate 161@PostConstruct 94, 156, 183, 191, 213@PostLoad 266, 353, 619@PostPersist 266, 353, 617

9066.book Seite 781 Dienstag, 1. März 2011 4:41 16

© des Titels »Enterprise JavaBeans 3.1« (ISBN 978-3-8266-9066-2) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9066

Page 3: Enterprise JavaBeans 3 - HJR · Enterprise JavaBeans 3.1 Einstieg, Umstieg, Praxis und Referenz ... prise JavaBeans und die Java Persistence API. Es ... application.xml 762 Eclipse

Stichwortverzeichnis

782

@PostRemove 266, 353, 618@PostUpdate 266, 353, 618@PreDestroy 214

Singleton Session Beans 193Stateful Session Beans 157Stateless Session Beans 96

@PrePassivate 159@PrePersist 265, 353, 617@PreRemove 266, 353, 617@PreUpdate 266, 353, 618@PrimaryKeyJoinColumn 259, 403, 651@PrimaryKeyJoinColumns 404@Remote 31, 81, 82, 147, 181@RemoteHome 148@Remove 150, 756@Resource 87@Retention 51@RolesAllowed 684@RunAs 689@Schedule 245@Schedules 246@SecondaryTable 258, 436, 660@SecondaryTables 439@SecurityDomain 696@SequenceGenerator 364, 620@Singleton 180@SOAPBinding 717@SqlResultSetMapping 349, 625@SqlResultSetMappings 352@Startup 183@Stateful 42, 147@StatefulTimeout 150@Stateless 30, 80@Table 256, 353, 659@TableGenerator 365, 621@Target 51@Temporal 371, 634@Timeout 46, 235@TransactionAttribute 263, 569@TransactionManagement 574@Transient 367, 657@UniqueConstraint 354, 355, 621@Version 293, 368, 583, 587, 638@WebMethod 717@WebParam 718@WebResult 719@WebService 715

AAbfragen 467

@ColumnResult 351@EntityResult 350@FieldResult 351@NamedNativeQueries 349@NamedNativeQuery 348@NamedQueries 347@NamedQuery 345@SqlResultSetMapping 349@SqlResultSetMappings 352

Abfragen testen 512<access> 615Access-Annotation 344AccessTimeout-Annotation 172, 196ActivationConfigPropery-Annotation 207Aggregatfunktionen 508ALL 497, 545AND 529Annotations 50

programmieren 53verwenden 50

ANT-Skript 758ANY 497, 545APP_NAME 730Application Assembler 765application.xml 762ApplicationException-Annotation 150, 158,

589Application-Objekt 119<around-invoke> 670AroundInvoke-Annotation 666<around-timeout> 670AroundTimeout-Annotation 669Artikel dynamisch suchen 553Artikelverwaltung 270<association-override> 654AssociationOverride-Annotation 463, 654AssociationOverrides-Annotation 465Asynchrone Verarbeitung 44Asynchronous-Annotation 104<attribute-override> 635AttributeOverride-Annotation 462, 635AttributeOverrides-Annotation 462<attributes> 630Auto-acknowledge 208Automatische Timer 245

9066.book Seite 782 Dienstag, 1. März 2011 4:41 16

© des Titels »Enterprise JavaBeans 3.1« (ISBN 978-3-8266-9066-2) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9066

Page 4: Enterprise JavaBeans 3 - HJR · Enterprise JavaBeans 3.1 Einstieg, Umstieg, Praxis und Referenz ... prise JavaBeans und die Java Persistence API. Es ... application.xml 762 Eclipse

Stichwortverzeichnis

783

BBackus Naur Form 483Bankverwaltung 296<basic> 636Basic-Annotation 368, 637Bean Managed Transaction 574Beanarten

@Stateless 80Entity Beans 253transaktionale Session Beans 600

BeanklasseSingleton Session Beans 180Stateful Session Beans 146Stateless Session Beans 80

Bean-Managed ConcurrencySingleton Session Beans 194

Beans 79Singleton Session 179zustandsbehaftete 145zustandslose 79

Bestellauswertung 425BETWEEN 492, 538Beziehungen

@JoinColumn 400@JoinColumns 402@JoinTable 413@ManyToMany 410@ManyToOne 407@MapKey 417@MapKeyClass 417@MapKeyColumn 418@MapKeyEnumerated 419@MapKeyJoinColumn 420@MapKeyJoinColumns 422@MapKeyTemporal 423@MapsId 409@OneToMany 404@OneToOne 394@OrderBy 414@OrderColumn 415@PrimaryKeyJoinColumn 403@PrimaryKeyJoinColumns 404CascadeType 423FetchType 424

Bibliothekennative 50

Binary Large Object 637Blob 637

BMP Entity Beans 774BMT 774BNF-Syntax 483build.xml 760ByteMessage 219

CCacheable-Annotation 370<cascade> 642<cascade-persist> 615CascadeType 423CASE 501<catalog> 614CD 779CGI 117CHAR 480Character Large Object 637CLASSPATH 74Client 768

programmieren 73Clob 637CMP

Entity Beans 771CMT 568<collection-table> 655CollectionTable-Annotation 448, 656<column> 631Column-Annotation 257, 355, 632<column-name> 621<column-result> 626ColumnResult-Annotation 351, 627COMMIT 568ConcurrencyManagement-Annotation 194ConcurrentAccessException 197ConcurrentAccessTimeoutException 197<concurrent-method> 197ConcurrentModificationException 179Config-Objekt 119ConnectionFactory 217Connector 50Container Managed Transaction 568Container-Managed Concurrency 194Context 35CORBA 103Criteria-API 519

ALL 545AND 529ANY 545

9066.book Seite 783 Dienstag, 1. März 2011 4:41 16

© des Titels »Enterprise JavaBeans 3.1« (ISBN 978-3-8266-9066-2) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9066

Page 5: Enterprise JavaBeans 3 - HJR · Enterprise JavaBeans 3.1 Einstieg, Umstieg, Praxis und Referenz ... prise JavaBeans und die Java Persistence API. Es ... application.xml 762 Eclipse

Stichwortverzeichnis

784

Berechnungen 551BETWEEN 538CriteriaBuilder 525CriteriaQuery 526EMPTY 541EXISTS 545FETCH JOIN 537FROM 526Funktionen 546GROUP BY 547HAVING 548IN 539INNER JOIN 533JOIN 533LEFT OUTER JOIN 536LIKE 540MEMBER 542Metamodell 521OR 529ORDER BY 549Pfadangaben 550SELECT 527SOME 545SUBQUERY 544WHERE 528

CriteriaBuilder 525CriteriaQuery 526

DDataSource 76, 257, 278Datenbankverbindung 76DatenElement 313Datengruppe 311Datentransportklassen 310DB-Abfragen siehe AbfragenDB-Beziehungen siehe BeziehungenDB-Zugriffe siehe Entity BeansDCOM 712Debug-Session 74DeclareRoles-Annotation 693DELETE 473, 511<delimited-identifiers> 614DenyAll-Annotation 688DependsOn-Annotation 185Deployer 765<description> 612<discriminator-column> 662DiscriminatorColumn-Annotation 461, 662<discriminator-value> 661

DiscriminatorValue-Annotation 461, 661DISTINCT 507DLL 50DOCUMENT 711Does Not Exist 213

Singleton Session Beans 191Stateful Session Beans 156Stateless Session Beans 94

Dups-ok-acknowledge 208Durable 208

EEAR-Datei 761

application.xml 762Eclipse 63Eclipse Web Tools 65EclipseLink 66, 521Einfaches Chat-Programm 223EJB 2.1 768EJB 3.1 Light 725

APP_NAME 730EJBContainer 728Leistungsumfang 727MODULES 729PROVIDER 729

EJB Container Provider 766EJB QL 467

Aggregatfunktionen 508ALL 497ANY 497BETWEEN 492CASE 501DELETE 511DISTINCT 507EMPTY 495Ergebnistypen 507EXISTS 496FETCH JOIN 488FROM 485Funktionen 499GROUP BY 503HAVING 505IN 489, 493INNER JOIN 487JOIN 487LIKE 493MEMBER 495NEW 508NULL 494

9066.book Seite 784 Dienstag, 1. März 2011 4:41 16

© des Titels »Enterprise JavaBeans 3.1« (ISBN 978-3-8266-9066-2) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9066

Page 6: Enterprise JavaBeans 3 - HJR · Enterprise JavaBeans 3.1 Einstieg, Umstieg, Praxis und Referenz ... prise JavaBeans und die Java Persistence API. Es ... application.xml 762 Eclipse

Stichwortverzeichnis

785

OBJECT 507ORDER BY 509SELECT 506SOME 497Subqueries 497TYPE 502UPDATE 510WHERE 489

EJB Rollenverteilung siehe RollenverteilungEJB Server Provider 766EJBAccessException 684EJB-Annotation 83, 283EJB-Container 115EJBContainer 728

APP_NAME 730MODULES 729PROVIDER 729

EJBContext 89ejb-jar.xml 267ejbTimeout 234<element-collection> 652ElementCollection-Annotation 444, 654<embeddable> 662Embeddable-Annotation 444, 663<embedded> 656Embedded-Annotation 440, 656<embedded-id> 634EmbeddedId-Annotation 357, 634EMPTY 495, 541Enterprise Bean Provider 764Enterprise Java Beans 27<entity> 657Entity Bean 38Entity Beans 253

@Access 344@ApplicationException 589@AssociationOverride 463, 654@AttributeOverride 462, 635@Basic 368, 637@Cacheable 370@CollectionTable 448, 656@Column 257, 355, 632@ColumnResult 627@DiscriminatorColumn 461, 662@DiscriminatorValue 461, 661@ElementCollection 444, 654@Embeddable 444, 663@Embedded 440, 656@EmbeddedId 357, 634@Entity 256, 343, 658

@EntityResult 625@Enumerated 372, 638@ExcludeDefaultListeners 629@ExcludeSuperclassListeners 629@FieldResult 626@GeneratedValue 360, 633@Id 256, 356, 631@IdClass 359, 628@Inheritance 449, 661@JoinColumn 400, 640@JoinTable 413, 641@Lob 370, 637@ManyToMany 410, 652@ManyToOne 407, 639@MapKey 417, 646@MapKeyClass 417, 646@MapKeyColumn 418, 649@MapKeyEnumerated 419, 648@MapKeyJoinColumn 420, 649@MapKeyJoinColumns 422@MapKeyTemporal 423, 647@MappedSuperclass 459, 627@MapsId 409@NamedNativeQuery 624@NamedQuery 622@OneToMany 404, 644@OneToOne 394, 650@OrderBy 414, 644@OrderColumn 415, 645@PostLoad 619@PostPersist 617@PostRemove 618@PostUpdate 618@PrePersist 617@PreRemove 617@PreUpdate 618@PrimaryKeyJoinColumn 259, 403, 651@SecondaryTable 258, 436, 660@SequenceGenerator 364, 620@SqlResultSetMapping 625@Table 256, 353, 659@TableGenerator 365, 621@Temporal 371, 634@TransactionAttribute 263@Transient 367, 657@UniqueConstraint 621@Version 368, 583, 638Annotations 343BMP 774CascadeType 423

9066.book Seite 785 Dienstag, 1. März 2011 4:41 16

© des Titels »Enterprise JavaBeans 3.1« (ISBN 978-3-8266-9066-2) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9066

Page 7: Enterprise JavaBeans 3 - HJR · Enterprise JavaBeans 3.1 Einstieg, Umstieg, Praxis und Referenz ... prise JavaBeans und die Java Persistence API. Es ... application.xml 762 Eclipse

Stichwortverzeichnis

786

CMP 771DataSource 257ejb-jar.xml 267EntityManager 255FetchType 424JOINED 457Lifecycle 265Managed 295orm.xml 267persistence.xml 261PersistenceContext 261POJOs 255PostLoad 266PostPersist 265PostRemove 266PostUpdate 266PrePersist 265PreRemove 266PreUpdate 266SINGLE_TABLE 450TABLE_PER_CLASS 454Transaktionen 567Unmanaged 295Versionierung 582XML Deployment Descriptor 268

Entity Listener 665, 674@EntityListeners 675@ExcludeDefaultListeners 676<exclude-default-listeners> 676<persistence-unit-defaults> 675

Entity-Annotation 38, 256, 343, 658EntityBeans

@UniqueConstraint 354<entity-listener> 616<entity-listeners> 616EntityListeners-Annotation 675EntityManager 40, 255, 277

@NamedNativeQuery 290@NamedQuery 289@PersistenceContext 282, 285@PersistenceUnit 285clear 293close 295contains 293createNamedQuery 289createNativeQuery 289createQuery 289createQuery(CriteriaQuery) 291Criteria-API 291DataSource 278

detach 293erweiterter Persistence Context 281Factory 284find 288flush 294getCriteriaBuilder 291getDelegate 294getEntityManagerFactory 288getLockMode 292getMetamodel 291getProperties 288getReference 288getTransaction 295isOpen 295joinTransaction 295JTA 278LazyLoading 289lock 292merge 291META-INF 278orm.xml 279persist 288Persistence Context 277, 280Persistence Unit 277persistence.xml 278refresh 293remove 292RESOURCE_LOCAL 278setFlushMode 294setProperty 288Transaktionen 295

EntityManager Factory 284<entity-mappings> 611<entity-result> 625EntityResult-Annotation 350, 625Entwicklungsumgebung 59

Eclipse 63Eclipse Web Tools 65EclipseLink 66Java 59JBoss 60Konfiguration 64Projekt anlegen 68

<enumerated> 637Enumerated-Annotation 372, 638Environmentzugriff

Stateless Session Beans 87Erweiterter Persistence Context 281ExcludeClassInterceptor-Annotation 672<exclude-class-interceptors> 672

9066.book Seite 786 Dienstag, 1. März 2011 4:41 16

© des Titels »Enterprise JavaBeans 3.1« (ISBN 978-3-8266-9066-2) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9066

Page 8: Enterprise JavaBeans 3 - HJR · Enterprise JavaBeans 3.1 Einstieg, Umstieg, Praxis und Referenz ... prise JavaBeans und die Java Persistence API. Es ... application.xml 762 Eclipse

Stichwortverzeichnis

787

<exclude-default-interceptors> 671ExcludeDefaultInterceptors-Annotation 671<exclude-default-listeners> 629, 676ExcludeDefaultListeners-Annotation 629,

676<exclude-superclass-listeners> 629ExcludeSuperclassListeners-Annotation 629EXISTS 496, 545

FFachliche Rechteprüfung 691Falschgeldtest 110FETCH JOIN 488, 537FetchType 424<field-result> 626FieldResult-Annotation 351, 626Foreign Key 393Form 117FROM 485, 526Funktionen 499, 546

GGarbage Collector 775<generated-value> 632GeneratedValue-Annotation 360, 633Generics 56Generische Clients

DatenElement 313Datengruppe 311Datentransportklassen 310JSP-Seiten 331

Generische JSP-Seiten 331Get-Methode 118GROUP BY 503, 547

HHAVING 505, 548<hint> 623HornetQ 44, 216HTML 115

<a> 125Absätze 126Ausrichten 127Auswahllisten 131<b> 126<big> 126<body> 124<br> 127Buttons 132

<center> 127<cite> 126<code> 126Eingabefelder 131Farben 125Formulare 130<frame> 133Frames 133<frameset> 133Grafiken 128<h1> 127<head> 124href 126<html> 124<i> 126<img> 128<input> 131Kontrollkästchen 132Listen 128<ol> 129Optionsfelder 132<p> 127<select> 131<small> 126<strike> 126<strong> 126<sub> 126<sup> 126Tabellen 129<table> 129<td> 129<textarea> 131Textattribute 126<th> 129<tr> 129Trennlinien 127<u> 126Überschriften 127<ul> 129Verweise 125Zeilenumbrüche 126Zentrieren 127

Hypersonic 76

I<id> 631Id-Annotation 256, 356, 631<id-class> 628IdClass-Annotation 359, 628

9066.book Seite 787 Dienstag, 1. März 2011 4:41 16

© des Titels »Enterprise JavaBeans 3.1« (ISBN 978-3-8266-9066-2) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9066

Page 9: Enterprise JavaBeans 3 - HJR · Enterprise JavaBeans 3.1 Einstieg, Umstieg, Praxis und Referenz ... prise JavaBeans und die Java Persistence API. Es ... application.xml 762 Eclipse

Stichwortverzeichnis

788

IIOP 103, 712IllegalArgumentException 237IllegalLoopbackException 196IllegalStateException 237IN 489, 493, 539Inhalt der CD 779<inheritance> 660Inheritance-Annotation 449, 661Init-Annotation 149InitialContext 34, 102Initialisierungsmethoden 149<init-on-startup> 197INNER JOIN 487, 533Interceptor 665

@AroundInvoke 666@AroundTimeout 669@ExcludeClassInterceptor 672@ExcludeDefaultInterceptors 671@Interceptors 668<around-invoke> 670<around-timeout> 670<exclude-class-interceptors> 672<exclude-default-interceptors> 671<interceptor-binding> 670<interceptors> 669

<interceptor-binding> 670<interceptors> 669Interceptors-Annotation 668Interface

erzeugen 69Intervalltimer 239<inverse-join-column> 642

JJava 59Java Message Service 205Java Persistence API 27Java SE 27Java VM 27JavaSE 725JAX-RPC 713JAX-WS 713JBoss 60jboss.xml 696JMS 44, 205JNDI 33JNDI-Environment 96, 193JOIN 487, 488, 533<join-column> 640

JoinColumn-Annotation 400, 640JoinColumns-Annotation 402JOINED 457<join-table> 641JoinTable-Annotation 413, 641JSP 115, 117

application 119Aufbau 116config 119Form 117Get-Methode 118out 120Page-Direktive 118Post-Methode 118request 121response 121Scriptlets 117session 122Sessionmanagement 121Sessionverwaltung 122

JSP-Client 134JTA 278

KKalenderbasierter Timer 240Klasse

erzeugen 70Konkurrierende Partnerzugriffe 601Konkurrierende Zugriffe 577

mit Satzsperre 586mit Versionierung 582ohne Satzsperren 580

Konkurrierender Methodenaufruf 193Kreditkartentest 138

LLazyLoading 289Lebenszyklen

Message-Driven Beans 212Singleton Session Beans 191Stateful Session Beans 155Stateless Session Beans 93

LEFT OUTER JOIN 536Lifecycle 265Life-Cycle-Methoden 665LIKE 493, 540LinkedHashMap 182<lob> 637Lob-Annotation 370, 637

9066.book Seite 788 Dienstag, 1. März 2011 4:41 16

© des Titels »Enterprise JavaBeans 3.1« (ISBN 978-3-8266-9066-2) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9066

Page 10: Enterprise JavaBeans 3 - HJR · Enterprise JavaBeans 3.1 Einstieg, Umstieg, Praxis und Referenz ... prise JavaBeans und die Java Persistence API. Es ... application.xml 762 Eclipse

Stichwortverzeichnis

789

Local-Annotation 81, 181LocalBean-Annotation 84Local-Client-View 154LocalHome-Annotation 148LocalHome-Interface 148Local-Interface 33

Singleton Session Beans 181Stateful Session Beans 148Stateless Session Beans 81

Lock-Annotation 195LockModeType 292login-config.xml 694Lookup 33, 102, 166Loopback-Calls

Singleton Session Beans 195

MManaged Entities 295MANDATORY 573<many-to-many> 651ManyToMany-Annotation 652<many-to-one> 639ManyToOne-Annotation 407, 639<map-key> 645MapKey-Annotation 417, 646<map-key-attribute-override> 648<map-key-class> 646MapKeyClass-Annotation 417, 646<map-key-column> 648MapKeyColumn-Annotation 418, 649<map-key-enumerated> 647MapKeyEnumerated-Annotation 419, 648<map-key-join-column> 649MapKeyJoinColumn-Annotation 420, 649MapKeyJoinColumns-Annotation 422<map-key-temporal> 647MapKeyTemporal-Annotation 423, 647MapMessage 219<mapped-superclass> 627MappedSuperclass-Annotation 459, 627Mappingdatei 268, 279, 611MapsId-Annotation 409MEMBER 495, 542Message-Driven Beans 44, 205, 771

@ActivationConfigPropery 207@MessageDriven 206@PostConstruct 213@PreDestroy 214acknowledgeMode 208als Timer 245

asynchrone Verarbeitung 210Auto-acknowledge 208ByteMessage 219ConnectionFactory 217destination 208destinationType 207Does Not Exist 213Dups-ok-acknowledge 208Durable 208Lebenszyklen 212MapMessage 219MessageDrivenContext 211MessageListener-Interface 209MessageProducer 218messageSelector 208Method-Ready Pool 214Nachrichten senden 221NonDurable 208ObjectMessage 219onMessage 209Point-to-Point 211PostConstruct 213PreDestroy 214Publish-and-Subscribe 210Queue 211Standardkonstruktor 209StreamMessage 219subscriptionDurability 208TextMessage 219Topic 210XML Deployment Descriptor 215

MessageDriven-Annotation 206MessageDrivenContext 211MessageListener-Interface 209MessageProducer 218MessageQueue 205MessageSelector 208Meta-Annotation 51META-INF 265, 278Metamodell für Criteria-API 521Methodenaufruf

konkurrierender 193Method-Ready

Singleton Session Beans 192Stateful Session Beans 156

Method-Ready Pool 214Stateless Session Beans 95

MODULES 729Monitor-Bean 248MQSeries 44, 205

9066.book Seite 789 Dienstag, 1. März 2011 4:41 16

© des Titels »Enterprise JavaBeans 3.1« (ISBN 978-3-8266-9066-2) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9066

Page 11: Enterprise JavaBeans 3 - HJR · Enterprise JavaBeans 3.1 Einstieg, Umstieg, Praxis und Referenz ... prise JavaBeans und die Java Persistence API. Es ... application.xml 762 Eclipse

Stichwortverzeichnis

790

NNachrichten

empfangen 219quittieren 208selektieren 208senden 217speichern 208

NamedNativeQueries-Annotation 349<named-native-query> 624NamedNativeQuery-Annotation 290, 348,

624NamedQueries Annotation 41NamedQueries-Annotation 347<named-query> 622NamedQuery-Annotation 41, 289, 345, 622NamingException 35, 103Narrow 35, 103Native Bibliotheken 50NativeQuery 472Nebenläufige Systeme 210NEVER 573NEW 508NoMoreTimeoutsException 239NonDurable 208NONE 293, 587NoSuchObjectLocalException 239NOT_SUPPORTED 572NULL 494NummernTestLight 731

OOBJECT 507ObjectMessage 219<one-to-many> 643OneToMany-Annotation 404, 644<one-to-one> 649OneToOne-Annotation 394, 650Oneway-Annotation 719onMessage 209OPTIMISTIC 293, 587OPTIMISTIC_FORCE_INCREMENT 293,

587OR 529Oracle 76ORDER BY 509, 549<order-by> 644OrderBy-Annotation 414, 644<order-column> 645OrderColumn-Annotation 415, 645

orm.xml 267, 279, 611EJB QL

LEFT 488LEFT 488Out-Objekt 120

P<package> 619Parameter 477Passive 160Performanceüberwachung 677PermitAll-Annotation 686Persistence Context 277, 280

erweitert 281transaktionsorientiert 280

Persistence Provider 766Persistence Unit 277persistence.xml 261, 278PersistenceContext-Annotation 41, 261, 282,

285PersistenceUnit-Annotation 285<persistence-unit-defaults> 613, 675<persistence-unit-metadata> 613Persistenzschicht 253PESSIMISTIC_FORCE_INCREMENT 293,

587PESSIMISTIC_READ 293, 587PESSIMISTIC_WRITE 293, 587Plain Old Java Objects 255Point-to-Point 211POJOs 255PortableRemoteObject 35, 103PostActivate 161PostActivate-Annotation 161PostConstruct 94, 156, 191, 213PostConstruct-Annotation 94, 156, 183, 191,

213<post-load> 618PostLoad-Annotation 266, 353, 619Post-Methode 118<post-persist> 617PostPersist-Annotation 266, 353, 617<post-remove> 617PostRemove-Annotation 266, 353, 618<post-update> 618PostUpdate-Annotation 266, 353, 618PreDestroy 214

Singleton Session Beans 193Stateful Session Beans 157Stateless Session Beans 95

9066.book Seite 790 Dienstag, 1. März 2011 4:41 16

© des Titels »Enterprise JavaBeans 3.1« (ISBN 978-3-8266-9066-2) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9066

Page 12: Enterprise JavaBeans 3 - HJR · Enterprise JavaBeans 3.1 Einstieg, Umstieg, Praxis und Referenz ... prise JavaBeans und die Java Persistence API. Es ... application.xml 762 Eclipse

Stichwortverzeichnis

791

PreDestroy-Annotation 96, 157, 193, 214PrePassivate 159PrePassivate-Annotation 159<pre-persist> 616PrePersist-Annotation 265, 353, 617<pre-remove> 617PreRemove-Annotation 266, 353, 617<pre-update> 618PreUpdate-Annotation 266, 353, 618<primary-key-join-column> 650PrimaryKeyJoinColumn-Annotation 259,

403, 651PrimaryKeyJoinColumns-Annotation 404Profiler 774Projekt 68

Bibliothek 69Client programmieren 73Datenbankverbindung einrichten 76Debug-Session 74Interface erzeugen 69Klasse erzeugen 70Startkonfiguration 72

PROVIDER 729Publish-and-Subscribe 210

QQuery 468

executeUpdate 473getFirstResult 473getFlushMode 479getHints 474getLockMode 480getMaxResults 474getParameter 477getParameterValue 479getResultList 469getSingleResult 473isBound 479setFirstResult 473setFlushMode 479setHint 474setLockMode 480setMaxResults 473setParameter 474

<query> 622Queue 211

destinationType 207einrichten 216

Queuename 208

RREAD 292, 587Rechteprüfung

fachliche 691Rechteprüfung bei Bestellverwaltung 697Referential Integrity 393Referenzen

@EJB 283, 756Remote Method Invocation 81Remote Procedure Call 711Remote-Annotation 31, 81, 147, 181Remote-Client-View 154RemoteHome-Annotation 148RemoteHome-Interface 148Remote-Interface 31

Singleton Session Beans 181Stateful Session Beans 147Stateless Session Beans 80

Remove-Annotation 150Request-Objekt 121REQUIRED 572REQUIRES_NEW 573RESOURCE_LOCAL 278Resource-Annotation 87Response-Objekt 121Retention-Annotation 51RMI 81RolesAllowed-Annotation 684ROLLBACK 568Rollback 588Rollenverteilung 763

Application Assembler 765Deployer 765EJB Container Provider 766EJB Server Provider 766Enterprise Bean Provider 764Persistence Provider 766Systemadministrator 767

RPC 711RunAs-Annotation 689

SSchedule-Annotation 245Schedules-Annotation 246<schema> 614Scriptlets 117<secondary-table> 659SecondaryTable Annotation 258, 436SecondaryTable-Annotation 660

9066.book Seite 791 Dienstag, 1. März 2011 4:41 16

© des Titels »Enterprise JavaBeans 3.1« (ISBN 978-3-8266-9066-2) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9066

Page 13: Enterprise JavaBeans 3 - HJR · Enterprise JavaBeans 3.1 Einstieg, Umstieg, Praxis und Referenz ... prise JavaBeans und die Java Persistence API. Es ... application.xml 762 Eclipse

Stichwortverzeichnis

792

SecondaryTables-Annotation 439Security 683

@DeclareRoles 693@DenyAll 688@PermitAll 686@RolesAllowed 684@RunAs 689@SecurityDomain 696Aktivierung bei JBoss 694EJBAccessException 684Fachliche Rechteprüfung 691jboss.xml 696login-config.xml 694

SecurityDomain-Annotation 696SELECT 506, 527<sequence-generator> 619SequenceGenerator-Annotation 364, 620ServiceEndpointPort 716ServiceEndpointService 716Session Bean

als Client 33SessionContext 91Sessionmanagement 121Session-Objekt (JSP) 122SessionSynchronization 600Sessionverwaltung 122Simple Object Access Protocol 711SINGLE_TABLE 450Single-action timer 239Singleton Session Beans 179

@AccessTimeout 196@ConcurrencyManagement 194@DependsOn 185@Local 181@Lock 195@PostConstruct 183, 191@PreDestroy 193@Startup 183als Timer 245Arbeitsweise 182Asynchrone Methoden 203Beanklasse 180Bean-Managed Concurrency 194Business-Methoden 185Container-Managed Concurrency 194Does Not Exist 191Fehlerbehandlung 190Freigeben 190Initialisierung 183Konkurrierender Methodenaufruf 193

Lebenszyklen 191Local-Interface 181Loopback-Calls 195Method-Ready 192PostConstruct 191PreDestroy 193Remote 181Remote-Interface 181Standardkonstruktor 182XML Deployment Descriptor 197

Singleton-Annotation 180Skeleton 32SOAP 711, 712SOAPBinding-Annotation 717SOME 497, 545SonicMQ 44, 205SQL-Abfrage 472<sql-result-set-mapping> 624SqlResultSetMapping-Annotation 349, 625SqlResultSetMappings-Annotation 352Standardkonstruktor 209

Singleton Session Beans 182Stateful Session Beans 149Stateless Session Beans 84

Startkonfiguration 72Startup-Annotation 183Stateful Session Beans 42, 145, 770

@ApplicationException 158@Local 148@LocalHome 148@PostActivate 161@PostConstruct 156@PreDestroy 157@PrePassivate 159@Remote 147@RemoteHome 148@Remove 150Beanklasse 146Create Methode 148Does Not Exist 156erweiterter Persistence Context 283Freigeben 150Lebenszyklen 155LocalHome-Interface 148Local-Interface 148Method-Ready 156Passive 160PostActivate 161PostConstruct 156PreDestroy 157

9066.book Seite 792 Dienstag, 1. März 2011 4:41 16

© des Titels »Enterprise JavaBeans 3.1« (ISBN 978-3-8266-9066-2) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9066

Page 14: Enterprise JavaBeans 3 - HJR · Enterprise JavaBeans 3.1 Einstieg, Umstieg, Praxis und Referenz ... prise JavaBeans und die Java Persistence API. Es ... application.xml 762 Eclipse

Stichwortverzeichnis

793

PrePassivate 159RemoteHome-Interface 148Remote-Interface 147Standardkonstruktor 149Timeout 162XML Deployment Descriptor 164Zugriff vom Client 165

Stateful-Annotation 42, 147StatefulTimeout-Annotation 150Stateless Session Beans 79, 769

als Timer 244Beanklasse 80Does Not Exist 94Environmentzugriff 87Lebenszyklen 93Local-Interface 81Method-Ready Pool 95PostConstruct 94PreDestroy 95Remote-Interface 80Standardkonstruktor 84XML Deployment Descriptor 98Zugriff vom Client 101

Stateless-Annotation 30, 80STATUS_ACTIVE 576STATUS_COMMITED 576STATUS_MARKED_ROLLBACK 576StreamMessage 219Streichholzspiel 173Stub 32Subqueries 497, 544SUPPORTS 572Systemadministrator 767

TTabellenstrukturen 435

@CollectionTable 448@ElementCollection 444@Embedded 440@SecondaryTable 436@SecondaryTables 439

<table> 659TABLE_PER_CLASS 454Table-Annotation 256, 353, 659<table-generator> 620TableGenerator-Annotation 365, 621Target-Annotation 51<temporal> 633Temporal-Annotation 371, 634TextMessage 219

Threadmanagement 49Threads 49TimedObject Interface 234Timeout 162Timeout-Annotation 46, 235Time-out-Methode 238Timer

automatische 245Timer Interface 238Timer Service 46, 233

@Schedule 245@Schedules 246@Timeout 235ejbTimeout 234IllegalArgumentException 237IllegalStateException 237Intervalltimer 239kalenderbasierter Timer 240Message-Driven Bean 233NoMoreTimeoutsException 239NoSuchObjectLocalException 239single-action timer 239starten 243Stateless Session Bean 233stoppen 243TimedObject Interface 234Timer Interface 238TimerConfig 237TimerHandle 239TimerService Interface 235

TimerConfig 237TimerHandle 239TimerService Interface 235Tomcat 115Topic 210

destinationType 207einrichten 216

Topicname 208TransactionAttribute-Annotation 263, 569TransactionManagement-Annotation 574Transaktionale Session Beans 600Transaktionen 567

@ApplicationException 589@TransactionAttribute 569@TransactionManagement 574BMT 574, 774CMT 568COMMIT 568Exceptions 589MANDATORY 573

9066.book Seite 793 Dienstag, 1. März 2011 4:41 16

© des Titels »Enterprise JavaBeans 3.1« (ISBN 978-3-8266-9066-2) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9066

Page 15: Enterprise JavaBeans 3 - HJR · Enterprise JavaBeans 3.1 Einstieg, Umstieg, Praxis und Referenz ... prise JavaBeans und die Java Persistence API. Es ... application.xml 762 Eclipse

Stichwortverzeichnis

794

NEVER 573NOT_SUPPORTED 572REQUIRED 572REQUIRES_NEW 573ROLLBACK 568Rollback 588STATUS_ACTIVE 576STATUS_COMMITED 576STATUS_MARKED_ROLLBACK 576SUPPORTS 572UserTransaction 574

Transaktionsschutz 280<transient> 657Transient-Annotation 367, 657TYPE 502

UÜbungen

Abfragen testen 512Artikel dynamisch suchen 553Artikelverwaltung 270Bankverwaltung 296Bestellauswertung 425Einfaches Chat-Programm 223Falschgeldtest 110Konkurrierende Partnerzugriffe 601Kreditkartentest 138Monitor-Bean 248Performanceüberwachung 677Rechteprüfung bei Bestellverwaltung

697Streichholzspiel 173Webservice für Nummerntest 720

UDDI 711<unique-constraint> 621UniqueConstraint-Annotation 354, 355, 621Universal Description, Discovery and Inte-

gration 711Unmanaged Entities 295UPDATE 473, 510UserTransaction 574

VVARCHAR2 480Verarbeitung

asynchrone 44zeitgesteuerte 233

Vererbungen 435@DiscriminatorColumn 461@DiscriminatorValue 461@Inheritance 449@MappedSuperclass 459JOINED 457SINGLE_TABLE 450TABLE_PER_CLASS 454

<version> 638Version-Annotation 293, 368, 583, 587, 638Versionierung 582Verzeichnisdienst 34

WWAR-Datei 136Web Archive 136Web Service Description Language 711Web-Container 115WebMethod-Annotation 717WebParam-Annotation 718WebResult-Annotation 719Webservice für Nummerntest 720WebService-Annotation 715Webservice-Client 720Webservices 711

@Oneway 719@SOAPBinding 717@WebMethod 717@WebParam 718@WebResult 719@WebService 715Client 720DOCUMENT 711RPC 711ServiceEndpointPort 716ServiceEndpointService 716SOAP 711, 712UDDI 711WSDL 711, 713

Webshop 737ANT-Skript 758EAR-Datei 761style.css 757WebShopBean 753WebShopRemote 751zentrale Steuerung 744

WHERE 489, 528

9066.book Seite 794 Dienstag, 1. März 2011 4:41 16

© des Titels »Enterprise JavaBeans 3.1« (ISBN 978-3-8266-9066-2) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9066

Page 16: Enterprise JavaBeans 3 - HJR · Enterprise JavaBeans 3.1 Einstieg, Umstieg, Praxis und Referenz ... prise JavaBeans und die Java Persistence API. Es ... application.xml 762 Eclipse

Stichwortverzeichnis

795

WRITE 292, 587WSDL 711, 713

XXDoclet 52XML Deployment Descriptor 611

Singleton Session Beans 197Stateful Session Beans 164Stateless Session Beans 98

XML Mapping 611<access> 615<association-override> 654<attribute-override> 635<attributes> 630<basic> 636<cascade> 642<cascade-persist> 615<catalog> 614<collection-table> 655<column> 631<column-name> 621<column-result> 626<delimited-identifiers> 614<description> 612<discriminator-column> 662<discriminator-value> 661<element-collection> 652<embeddable> 662<embedded> 656<embedded-id> 634<entity> 657<entity-listener> 616<entity-listeners> 616<entity-mappings> 611<entity-result> 625<enumerated> 637<exclude-default-listeners> 629<exclude-superclass-listeners> 629<field-result> 626<generated-value> 632<hint> 623<id> 631<id-class> 628<inheritance> 660<inverse-join-column> 642<join-column> 640<join-table> 641<lob> 637

<lock-mode> 623<many-to-many> 651<many-to-one> 639<map-key> 645<map-key-attribute-override> 648<map-key-class> 646<map-key-column> 648<map-key-enumerated> 647<map-key-join-column> 649<map-key-temporal> 647<mapped-superclass> 627<named-native-query> 624<named-query> 622<one-to-many> 643<one-to-one> 649<order-by> 644<order-column> 645<package> 619<persistence-unit-defaults> 613<persistence-unit-metadata> 613<post-load> 618<post-persist> 617<post-remove> 617<post-update> 618<pre-persist> 616<pre-remove> 617<pre-update> 618<primary-key-join-column> 650<query> 622<schema> 614<secondary-table> 659<sequence-generator> 619<sql-result-set-mapping> 624<table> 659<table-generator> 620<temporal> 633<transient> 657<unique-constraint> 621<version> 638<xml-mapping-metadata-complete> 613

<xml-mapping-metadata-complete> 613

ZZeitgesteuerte Verarbeitung 233Zugriffe

konkurrierende 577Zustandsbehaftete Beans 145Zustandslose Beans 79

9066.book Seite 795 Dienstag, 1. März 2011 4:41 16

© des Titels »Enterprise JavaBeans 3.1« (ISBN 978-3-8266-9066-2) 2011 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg. Nähere Informationen unter: http://www.mitp.de/9066