Enviar pesquisa
Carregar
Auszug Seminarmaterial "EJB 3.x"
•
0 gostou
•
3,972 visualizações
S
schellsoft
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 13
Baixar agora
Baixar para ler offline
Recomendados
Neue Features der Java EE 6
Neue Features der Java EE 6
GFU Cyrus AG
Java EE 5
Java EE 5
GFU Cyrus AG
Auszug Seminarunterlagen "Tomcat 6.x"
Auszug Seminarunterlagen "Tomcat 6.x"
schellsoft
Anwendung von Java Enterprise Edition (J2EE)
Anwendung von Java Enterprise Edition (J2EE)
Andreas Schreiber
Introduction to JEE
Introduction to JEE
guestc44b7b
Speeding up Java Persistence
Speeding up Java Persistence
gedoplan
Entity framework
Entity framework
Michel Varga
Objektvalidierung mit dem Bean Validation Api
Objektvalidierung mit dem Bean Validation Api
gunnarmorling
Recomendados
Neue Features der Java EE 6
Neue Features der Java EE 6
GFU Cyrus AG
Java EE 5
Java EE 5
GFU Cyrus AG
Auszug Seminarunterlagen "Tomcat 6.x"
Auszug Seminarunterlagen "Tomcat 6.x"
schellsoft
Anwendung von Java Enterprise Edition (J2EE)
Anwendung von Java Enterprise Edition (J2EE)
Andreas Schreiber
Introduction to JEE
Introduction to JEE
guestc44b7b
Speeding up Java Persistence
Speeding up Java Persistence
gedoplan
Entity framework
Entity framework
Michel Varga
Objektvalidierung mit dem Bean Validation Api
Objektvalidierung mit dem Bean Validation Api
gunnarmorling
Auszug Seminarunterlagen "Hibernate 3.x"
Auszug Seminarunterlagen "Hibernate 3.x"
schellsoft
Introduction to Apache Maven 3 (German)
Introduction to Apache Maven 3 (German)
Chris Michael Klinger
Metadatenbasierte Validierung
Metadatenbasierte Validierung
os890
Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?
Thorsten Kamann
Einführung Maven
Einführung Maven
FunThomas424242
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Ralf Sigmund
Higienelym
Higienelym
lucilovexela
Servicios de google
Servicios de google
munozhuertaslauraisabel
Presentación de los mapas
Presentación de los mapas
Isa12Graterol
importancia de la educacion inicial
importancia de la educacion inicial
olondraaa
PdeC body art.DORIS CASTRILLÓN
PdeC body art.DORIS CASTRILLÓN
elizabuiles
Actividad 7
Actividad 7
Yanori Perez
Lectura
Lectura
Yenfri Jose Garcia
2015 el año del quiebre o del continuismo
2015 el año del quiebre o del continuismo
Mario Abate Liotti Falco
Außenwirtschaft im Fokus 2012
Außenwirtschaft im Fokus 2012
Bayern International
Las redes sociales
Las redes sociales
David Valle
Hansgrohe se green controlling preis 2012
Hansgrohe se green controlling preis 2012
ICV_eV
Tutorial 2- Crear un blog con blogger
Tutorial 2- Crear un blog con blogger
Jean Saavedra
10 Gebote der Fotografie
10 Gebote der Fotografie
nicoleunterberger
Sommer Rennradwoche 2014 in Südtirol
Sommer Rennradwoche 2014 in Südtirol
Dolcevita Hotels
Präsentation strobl
Präsentation strobl
ICV_eV
Ganztagsschule von Thomas Höchst
Ganztagsschule von Thomas Höchst
Macht Bildung
Mais conteúdo relacionado
Mais procurados
Auszug Seminarunterlagen "Hibernate 3.x"
Auszug Seminarunterlagen "Hibernate 3.x"
schellsoft
Introduction to Apache Maven 3 (German)
Introduction to Apache Maven 3 (German)
Chris Michael Klinger
Metadatenbasierte Validierung
Metadatenbasierte Validierung
os890
Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?
Thorsten Kamann
Einführung Maven
Einführung Maven
FunThomas424242
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Ralf Sigmund
Mais procurados
(6)
Auszug Seminarunterlagen "Hibernate 3.x"
Auszug Seminarunterlagen "Hibernate 3.x"
Introduction to Apache Maven 3 (German)
Introduction to Apache Maven 3 (German)
Metadatenbasierte Validierung
Metadatenbasierte Validierung
Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?
Einführung Maven
Einführung Maven
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Destaque
Higienelym
Higienelym
lucilovexela
Servicios de google
Servicios de google
munozhuertaslauraisabel
Presentación de los mapas
Presentación de los mapas
Isa12Graterol
importancia de la educacion inicial
importancia de la educacion inicial
olondraaa
PdeC body art.DORIS CASTRILLÓN
PdeC body art.DORIS CASTRILLÓN
elizabuiles
Actividad 7
Actividad 7
Yanori Perez
Lectura
Lectura
Yenfri Jose Garcia
2015 el año del quiebre o del continuismo
2015 el año del quiebre o del continuismo
Mario Abate Liotti Falco
Außenwirtschaft im Fokus 2012
Außenwirtschaft im Fokus 2012
Bayern International
Las redes sociales
Las redes sociales
David Valle
Hansgrohe se green controlling preis 2012
Hansgrohe se green controlling preis 2012
ICV_eV
Tutorial 2- Crear un blog con blogger
Tutorial 2- Crear un blog con blogger
Jean Saavedra
10 Gebote der Fotografie
10 Gebote der Fotografie
nicoleunterberger
Sommer Rennradwoche 2014 in Südtirol
Sommer Rennradwoche 2014 in Südtirol
Dolcevita Hotels
Präsentation strobl
Präsentation strobl
ICV_eV
Ganztagsschule von Thomas Höchst
Ganztagsschule von Thomas Höchst
Macht Bildung
Bericht pr ausschuss stand november 2012
Bericht pr ausschuss stand november 2012
ICV_eV
Presentacion libre
Presentacion libre
andyM97
La nutrición y alimentación
La nutrición y alimentación
ainoalove17
SeHF 2014 | Unified Information Management: Archivierung
SeHF 2014 | Unified Information Management: Archivierung
Swiss eHealth Forum
Destaque
(20)
Higienelym
Higienelym
Servicios de google
Servicios de google
Presentación de los mapas
Presentación de los mapas
importancia de la educacion inicial
importancia de la educacion inicial
PdeC body art.DORIS CASTRILLÓN
PdeC body art.DORIS CASTRILLÓN
Actividad 7
Actividad 7
Lectura
Lectura
2015 el año del quiebre o del continuismo
2015 el año del quiebre o del continuismo
Außenwirtschaft im Fokus 2012
Außenwirtschaft im Fokus 2012
Las redes sociales
Las redes sociales
Hansgrohe se green controlling preis 2012
Hansgrohe se green controlling preis 2012
Tutorial 2- Crear un blog con blogger
Tutorial 2- Crear un blog con blogger
10 Gebote der Fotografie
10 Gebote der Fotografie
Sommer Rennradwoche 2014 in Südtirol
Sommer Rennradwoche 2014 in Südtirol
Präsentation strobl
Präsentation strobl
Ganztagsschule von Thomas Höchst
Ganztagsschule von Thomas Höchst
Bericht pr ausschuss stand november 2012
Bericht pr ausschuss stand november 2012
Presentacion libre
Presentacion libre
La nutrición y alimentación
La nutrición y alimentación
SeHF 2014 | Unified Information Management: Archivierung
SeHF 2014 | Unified Information Management: Archivierung
Semelhante a Auszug Seminarmaterial "EJB 3.x"
Feige sein! Testen im Java-EE-Umfeld
Feige sein! Testen im Java-EE-Umfeld
gedoplan
Hibernate Tuning
Hibernate Tuning
Michael Plöd
Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.
Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.
David Jardin
Robustes Testen mit Selenium
Robustes Testen mit Selenium
x-celerate
Bi testing media_factory_0.10
Bi testing media_factory_0.10
inovex GmbH
Einführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
s0enke
Arquillian
Arquillian
Korhan Gülseven
Das Repository-Pattern und der O/R-Mapper: Geniale Kombination oder vergebene...
Das Repository-Pattern und der O/R-Mapper: Geniale Kombination oder vergebene...
André Krämer
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
QAware GmbH
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
Josef Adersberger
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!
OPEN KNOWLEDGE GmbH
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyond
Ulrich Krause
Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)
Joachim Baumann
Flexibilitaet mit CDI und Apache DeltaSpike
Flexibilitaet mit CDI und Apache DeltaSpike
os890
2009 03 17 Spring101
2009 03 17 Spring101
gueste4be40
Perl Renaissance Reloaded
Perl Renaissance Reloaded
Gregor Goldbach
Feige sein
Feige sein
gedoplan
Speeding up Java Persistence
Speeding up Java Persistence
gedoplan
MicroProfile 2.x: Der alternative Standard
MicroProfile 2.x: Der alternative Standard
OPEN KNOWLEDGE GmbH
JBoss ESB
JBoss ESB
camunda services GmbH
Semelhante a Auszug Seminarmaterial "EJB 3.x"
(20)
Feige sein! Testen im Java-EE-Umfeld
Feige sein! Testen im Java-EE-Umfeld
Hibernate Tuning
Hibernate Tuning
Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.
Nooku, Molajo & Co - Joomla! Distributionen. Oder Forks.
Robustes Testen mit Selenium
Robustes Testen mit Selenium
Bi testing media_factory_0.10
Bi testing media_factory_0.10
Einführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
Arquillian
Arquillian
Das Repository-Pattern und der O/R-Mapper: Geniale Kombination oder vergebene...
Das Repository-Pattern und der O/R-Mapper: Geniale Kombination oder vergebene...
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyond
Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)
Flexibilitaet mit CDI und Apache DeltaSpike
Flexibilitaet mit CDI und Apache DeltaSpike
2009 03 17 Spring101
2009 03 17 Spring101
Perl Renaissance Reloaded
Perl Renaissance Reloaded
Feige sein
Feige sein
Speeding up Java Persistence
Speeding up Java Persistence
MicroProfile 2.x: Der alternative Standard
MicroProfile 2.x: Der alternative Standard
JBoss ESB
JBoss ESB
Auszug Seminarmaterial "EJB 3.x"
1.
Session-Bean-Details
2.
Themenübersicht "Session-Bean-Details"
Allgemeines zu Session-Beans Konversationen Implementationsdetails Session-Context Stateless- und Stateful-Lebenszyklus Lebenszyklus-Callbacks Das ungeliebte Home-Interface Optimierungsstrategien Voraussetzungen für die Passivierung Präsentation "Enterprise Java Beans 3.1" © Oliver P. Schell 2011 www.schellsoft.de 39
3.
Allgemeines zu Session-Beans
Session-Bean = netzwerkfähiges Dienstobjekt: • Bietet Remote-Clients Anwendungslogik aller Art an Stateless-Variante: • Enthalten keine transienten (Sitzungs-)daten (nonconversational) • Gehören Client für die Dauer seines Methodenaufrufs • Müssen nicht rekursiv serialisierbar sein Stateful-Variante: • Enthalten Sitzungsdaten (conversational state) • Gehören Client für die Dauer einer Sitzung • Müssen rekursiv serialisierbar sein Gemeinsamkeit beider Varianten: • Unterstützen verteilte JTA-Transaktionen • Besitzen SessionContext-Information Präsentation "Enterprise Java Beans 3.1" © Oliver P. Schell 2011 www.schellsoft.de 40
4.
Konversationen
Conversional State = Stateful-Bean speichert exklusiv Daten eines Clients (Sitzung): • Z.B. Attributwerte, Datenbankverbindungen, Referenzen auf EJBs, etc. Nachteile durch den Conversational State: • EJB-Instanzen nehmen stetig zu • Performancesteigerung wird notwendig Präsentation "Enterprise Java Beans 3.1" © Oliver P. Schell 2011 www.schellsoft.de 41
5.
Implementationsdetails
Vererbungsdetails: • Implementationsklasse erbt ihr Remote- und/oder Local-Interface Annotierungen: • Festlegung des Konversationstyps auf Klassenebene: • @Stateless // ODER @Stateful public class DemoBean implements Demo { … } • Festlegung des Remote-Interfaces: • @Remote // ODER @Local public interface Demo { … } • @Remote( Demo.class ) public class DemoBean implements Demo, Interface2, Interface3 { … } Erzeugung einer Instanz: • Instanzen werden pro JNDI-Lookup geliefert: • Demo beanStub = (Demo) ctx.lookup( "/DemoBean/remote" ); Löschung einer Stateful-Instanz: • Geschieht über beliebig viele mit @Remove annotierte Methoden in der Bean-Klasse! • @Remove( retainIfException = true ) public void checkout() { … } Präsentation "Enterprise Java Beans 3.1" © Oliver P. Schell 2011 www.schellsoft.de 42
6.
Implementationsdetails
Alle Deployment-Descriptor-relevanten Details sind annotierbar: • Deklaration von Transaktionsdetails (s. Transaktionen): • @TransactionManagement, @TransactionAttribute, … • Deklaration von Berechtigungen (s. Security): • @RolesAllowed, @PermitAll, @RunAs, … • Aktivierung von Injections (s. JNDI-Dienst): • @Resource, @EJB, @PersistenceContext, … Präsentation "Enterprise Java Beans 3.1" © Oliver P. Schell 2011 www.schellsoft.de 43
7.
Session-Context
Session-Context = Schnittstelle zum Application-Server: • Bei Stateful- & Stateless-Session-Beans vorhanden: • @Resource private SessionContext context; • Inhalte ändern sich jeweils beim Wechsel des Bean-Clients Features des Session-Context: • Identität des Clients (Rechte, etc.): • public Principal getCallerPrincipal() • public boolean isCallerInRole( Identity role ) • Referenz auf das Home-Objekt: • public EJBHome getEJBHome() • Referenz auf das EJBObject: • public EJBObject getEJBObject() • Referenz auf den aktiven Transaktionskontext: • public UserTransaction getUserTransaction() • public void setRollbackOnly() • public boolean getRollbackOnly() • Zugriff auf den Timer-Service: • public TimerService getTimerService() Präsentation "Enterprise Java Beans 3.1" © Oliver P. Schell 2011 www.schellsoft.de 44
8.
Session-Context
Neue EJB-3-Features des Session-Context: • Zugriff auf die EJB-Umgebung: • public Object lookup( String name ) • Liefert Handle auf die EJB: (z.B. zur Übergabe an den Client) • public getBusinessObject( Class businessInterface ) • Liefert das Interface, über dass gerade operiert wird: • public Object getInvokedBusinessInterface() • Liefert Zugriff auf den JAX-RPC-Kontext, falls vorhanden: • public MessageContext getMessageContext() Deprecated in EJB 3.0: • Folgende Methoden liefern nun eine Exception: • public Object getEJBObject() • public Object getEJBLocalObject() Präsentation "Enterprise Java Beans 3.1" © Oliver P. Schell 2011 www.schellsoft.de 45
9.
Stateless- und Stateful-Lebenszyklus Präsentation
"Enterprise Java Beans 3.1" © Oliver P. Schell 2011 www.schellsoft.de 46
10.
Lebenszyklus-Callbacks
Callback zur Initialisierung: • Reagiert auf Erzeugung durch den Client: • @PostCreate public void myPostCreateMethod() { … } Callback zur Passivierung: • Serialisiert Stateful-Beans nach definiertem Timeout: • @PrePassivate public void myPostPassivateMethod() { … } Callback zur Aktivierung: • Reaktiviert für zuvor serialisierte Stateful-Beans: • @PostActivate public void myPostActivateMethod() { … } Callback zur Zerstörung: • Reagiert auf Löschung durch den Client oder auf System-Exceptions: • @PreDestroy public void myPreDestroyMethod() { … } • Wird bei der Löschung passivierter Stateful-Beans nicht berücksichtigt! Präsentation "Enterprise Java Beans 3.1" © Oliver P. Schell 2011 www.schellsoft.de 47
11.
Das ungeliebte Home-Interface
Home-Interfaces sind deprecated, werden aber weiter unterstützt: • Home-Interfaces erzeugen oder verwerfen EJB-Instanzen • Sie werden weiterhin in Remote- und Local-Varianten unterschieden Explizites Coding des Home-Interface: • Aufbau des Interfaces: • public interface DemoHome extends javax.ejb.EJBHome { public Demo create() // ruft startBean() throws CreateException, RemoteException; public Demo create( String greeting ) // ruft startBean( String ) throws CreateException, RemoteException; } • Verweis aus der Implementationsklasse: • @RemoteHome( DemoHome.class ) // ODER @LocalHome( … ) public class DemoBean implements Calculator { … @Init public void startBean() { … } @Init public void startBean( String greeting ) { … } … } Präsentation "Enterprise Java Beans 3.1" © Oliver P. Schell 2011 www.schellsoft.de 48
12.
Optimierungsstrategien
Verfahren der "Passivierung" bei Stateful-Session-Beans: • Deaktivierung (Caching) der EJB-Instanz nach Timeout • EJB-Client-Assoziation existiert weiterhin • Löschung der EJB-Instanz nach weiterem Timeout Verfahren des "Pooling" bei Stateless-Session-Beans: • Container bereitet EJB-Instanzen vor und hält sie im Pool vorrätig Timeout = Zeit bis zu einem Stateful-EJB-Zustandswechsel: • Max-Age: Zeit bis zur Passivierung • Max-Life: Zeit bis zur Entfernung aus dem passiven Zustand Meist werden Timeouts von Tasks bzw. Threads kontrolliert: • Overager: Prüft auf passivierbare EJBs • Remover: Prüft auf löschbare EJBs Präsentation "Enterprise Java Beans 3.1" © Oliver P. Schell 2011 www.schellsoft.de 49
13.
Voraussetzungen für die
Passivierung Der Container serialisiert den Conversional State in einen Cache: • Die EJB wird darüber per Callback informiert: • @PrePassivate public void beanWillPassivate() { … } • @PostActivate public void beanWasActivated() { … } Risiko beim Serialisierungsvorgang: • Eine "java.io.NotSerializableException" könnte entstehen! Serialisierbare Bean-Attribute: • Serialisierbares Objekt • Referenz auf NULL • Remote-Interface, Home-Interface, Local-Interface, Local-Home-Interface, SessionContext, JNDI-Namensdienst, UserTransaction, Resource-Factory Varianten, falls ein Attribut nicht serialisierbar ist: A) Attribut-Deklaration mit "transient": • transient private ResultSet results; B) In @PrePassivate-Methode referenz auf NULL setzen: • public void beanWillPassivate() { this.results.close(); this.results = null; } Präsentation "Enterprise Java Beans 3.1" © Oliver P. Schell 2011 www.schellsoft.de 50
Baixar agora