Anwendungen der EJB Version 3.x implementieren
Verwenden Sie diese Task, wenn sie Anwendungen der Enterprise JavaBeans (EJB) Version 3.x implementieren.
Informationen zu diesem Vorgang
Nach EJB-Spezifikation (Enterprise JavaBeans) sind Enterprise-Beans Java-Komponenten, die in der Regel die Geschäftslogik von JEE-Anwendungen (Java Platform, Enterprise Edition) und Zugriffsdaten implementieren. IBM WebSphere Application Server bietet eine umfassende Unterstützung für Enterprise-Beans, einschließlich der Spezifikationen Enterprise JavaBeans (EJB) 2.x und EJB 3.x. Die Spezifikation der EJB 3 vereinfacht die Entwicklung von Geschäftslogik und die Datenverarbeitung für Unternehmensanwendungen. Sie können die Beans mit einem der Assembliertools in ein oder mehrere Module der EJB Version 3.x assemblieren.
Die Spezifikation EJB 3.0 wird zu Recht als wichtigstes Upgrade für das Java™-EE-5-Programmiermodell bezeichnet. Die Spezifikation EJB 3.0 stellt eine Vereinfachung und Optimierung der in Java EE verwendeten Geschäftslogik und Persistenzprogrammiermodelle dar. Obwohl die JPA-Ersetzung (Java Persistence API) als Entitätsklasse bezeichnet wird, darf sie nicht mit Entity-Enterprise-Beans verwechselt werden. Eine JPA-Entität ist keine Enterprise-Bean und muss nicht in einem EJB-Container ausgeführt werden.
- Die lokale Schnittstelle und alle Parameter-, Rückgabe- und Ausnahmetypen, die von der lokalen Schnittstelle verwendet werden, müssen sowohl für den Klassenlader der aufrufenden Anwendung als auch den Klassenlader der EJB-Zielanwendung sichtbar sein. Sie können das sicherstellen, indem Sie entweder eine gemeinsam genutzte Bibliothek, die einem Serverklassenlader zugeordnet ist, oder eine isolierte gemeinsam genutzte Bibliothek, die beiden Anwendungen zugeordnet ist, verwenden. Weitere Informationen finden Sie im Artikel "Gemeinsam genutzte Bibliotheken erstellen".
- Wenn die EJB-Zielanwendung gestoppt ist, müssen alle zwischengespeicherten Referenzen auf die EJB aktualisiert werden. Sie können
eine der folgenden Vorgehensweisen wählen:
- Starten Sie die aufrufende Anwendung erneut. Am einfachsten ist es, die aufrufende Anwendung immer beim Neustart einer EJB-Zielanwendung, auf die sie sich stützt, erneut zu starten.
- Rufen Sie eine neue Referenz aus JNDI ab.
Standardmäßig werden JNDI-Suchvorgänge im Java-Namespace zwischengespeichert, und der Cache muss entweder inaktiviert oder gelöscht werden, wenn
eine neue Referenz abgerufen werden soll. Weitere Informationen finden Sie im Artikel "Anwendungen entwickeln, die JNDI verwenden".
Wenn die EJB-Anwendung gestoppt wurde, lösen EJB-Methodenaufrufe die Ausnahme com.ibm.websphere.ejbcontainer.EJBStoppedException aus. Wenn Sie die EJB-Referenz mit einer "@EJB"-Injektion oder einer JNDI-Suche in einer Instanzvariable zwischengespeichert haben, können Sie diese Ausnahme abfragen und die EJB-Referenz durch Ausführen einer nicht zwischengespeicherten Suche aktualisieren.
Führen Sie die folgende Prozedur aus, wenn Sie die Anwendung EJB 3.x in WebSphere Application Server einschließlich der Optimierungs- und Fehlerbehebungstipps implementieren möchten.