Hinweise zu Modulen der EJB Version 3.x

Wenn Sie Module der Enterprise JavaBeans (EJB) Version 3.x verwenden, müssen Sie die folgenden Hinweise beachten.

Version 8.0 unterstützt keine Entity-Beans der Version 1.x und 2.x in Modulen der EJB Version 3.x

IBM® WebSphere Application Server Version 8.0 unterstützt keine BMP-Entity-Beans (Bean-managed Persistence, über JavaBeans realisierte Transaktionspersistenz) und CMP-Entity-Beans (Container-managed Persistence, über Container realisierte Transaktionspersistenz) der Version 1.x und 2.x in Modulen der EJB Version 3.x. EJB-Entity-Beans können in Version 8.0 zwar noch verwendet werden, müssen aber in ein Modul der EJB Version 2.1 oder früher gepackt werden.

Java-EE-Anwendungen (Java Platform, Enterprise Edition), in die EJB-Entity-Beans in Modulen der EJB Version 3.x gepackt sind, können unter Version 8.0 nicht installiert werden.

Eine EJB-JAR-Datei wird als Modul der EJB Version 3.x eingestuft, wenn eine der folgenden Bedingungen zutrifft:
  • Die EJB-JAR-Datei enthält Konfigurationsdaten in einer Datei ejb-jar.xml mit einer Headerspezifikation der EJB Version 3.0 oder EJB Version 3.1. Beispiel:
    <ejb-jar id="ejb-jar_ID" version="3.0"
          xmlns="http://java.sun.com/xml/ns/javaee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">
  • Die EJB-JAR-Datei enthält Beans mit Quellenannotationen der EJB Version 3.x, die Konfigurationsdaten bereitstellen. Eine Implementierungsdeskriptordatei des Typs ejb-jar.xml ist nicht enthalten.

Sie müssen Ihre Module der EJB Version 3.x mit Modulen der EJB Version 2.x und früher erneut packen. Andernfalls scheitert die Installation von Anwendungen, die Entity-Beans enthalten.

Annotationen

Prüfen Sie, ob Sie Annotationen und/oder Implementierungsdeskriptoren verwenden möchten. Weitere Informationen zu Annotationen finden Sie im Artikel "Annotationen für Metadaten der EJB Version 3.x".

EJB-Modul

WebSphere Application Server Version 8.0 unterstützt JAR-Dateien (Java™-Archive) für EJB-Module mit einem Implementierungsdeskriptor ejb-jar.xml der Version 1.1, 2.0, 2.1, 3.0 oder 3.1 oder ohne Implementierungsdeskriptor ejb-jar.xml. Wenn kein Implementierungsdeskriptor vorhanden ist, wird von einem EJB-Modul der Version 3.0 oder höher ausgegangen.

EJB-Module, die Beans der EJB Version 3.x enthalten, müssen mit Version EJB 3.0 oder EJB 3.1 deklariert werden. Dazu muss entweder der Implementierungsdeskriptor ejb-jar.xml auf Version 3.0 oder 3.1 aktualisiert werden, oder es muss sichergestellt sein, dass das Modul keinen Implementierungsdeskriptor ejb-jar.xml enthält. Wenn die Modulversion 2.1 oder eine ältere Version verwendet wird, werden keine für EJB 3.x spezifischen Funktionen wie das Durchsuchen von Annotationen oder die Ressourceninjektion verwendet.

Entity-Beans werden in Modulen der EJB Version 3.x nicht unterstützt. Sie müssen alle Entity-Beans in Module der EJB Version 2.1 packen.

Zum Packen eines Moduls der EJB Version 3.x mit einem Implementierungsdeskriptor stehen mehrere Methoden zur Verfügung: Packen eines Moduls der EJB Version 3.x ausschließlich mit einer Session-Bean der EJB Version 3.x und einer nachrichtengesteuerten Bean, ausschließlich mit einer Session-Bean der EJB Version 2.1 und einer nachrichtengesteuerten Bean oder mit einer Kombination von Beans der Version 2.1 und der Version 3.x. Der XML-Implementierungsdeskriptor muss ein Implementierungsdeskriptor der Version 3.0 oder 3.1 sein. Entity-Beans der Version 2.1 müssen mit Implementierungsdeskriptoren der Version 2.1 in Module paketiert werden. EJB-Module, die Beans der EJB Version 3.x enthalten, müssen bei ihrer Ausführung im Produkt die Spezifikationsstufe EJB 3.0 oder EJB 3.1 haben. Bereiten Sie das EJB-Modul für die Unterstützung von Beans der EJB Version 3.x vor, indem Sie die Version im Implmentierungsdeskriptor ejb-jar.xml auf Version 3.0 oder 3.1 setzen oder sicherstellen, dass das Modul keinen Implementierungsdeskriptor ejb-jar.xml enthält. Wenn das EJB-Modul die Stufe 2.1 oder eine frühere Stufe verwendet, werden zur Ausführungskeite keine Funktionen der EJB Version 3.x, einschließlich Annotationssuche oder Ressourceninjektion, ausgeführt.

Java-EE-Anwendungsclientmodul

Das Produkt unterstützt Java-EE-Anwendungsclientmodule. Außerdem unterstützt es die Injektion von EJB-Referenzen in Clientkomponenten, wenn die Injektion über die Annotation @EJB definiert wird.

Achtung: EJB 3.x bietet keine Unterstützung für die Injektion von Enterprise-Beans, die eine Enterprise-Bean von sich selbst erstellen. Sorgen Sie deshalb dafür, dass keine Enterprise-Beans verwendet werden, die eine Enterprise-Bean von sich selbst erstellen.

ejb-ref-Referenz auf eine Geschäftsschnittstelle der EJB Version 3.x über einen Java-EE-Clientkomponentendeskriptor definieren

Es ist möglich, eine ejb-ref-Referenz über einen Deskriptor application-client.xml zu definieren, der auf eine Geschäftsschnittstelle der EJB Version 3.x verweist. Der Zugriff auf Geschäftsschnittstellen der EJB Version 3.x erfolgt direkt und ohne Home-Schnittstelle, das Element "ejb-ref" in Java EE setzt jedoch voraus, dass eine Home-Schnittstelle angegeben wird. Daher müssen Sie die Zeilengruppe <home></home> in der Definition von ejb-ref einschließen, jedoch, wie im Beispiel gezeigt, einen Nullwert angeben. Geben Sie als Wert der Zeilengruppe <remote> den Klassennamen der Geschäftsschnittstelle von EJB 3.x an. Wenn Sie den Bindungswert bei der Anwendungsinstallation oder mit Tools setzen, geben Sie an, wo die Geschäftsschnittstelle von EJB 3.x gebunden wurde.

Beispielsweise würde der ejb-ref-Eintrag in der Datei application-client.xml der Clientkomponente etwa im folgenden Codebeispiel aussehen:
<ejb-ref id="EJBRef_1">
		<ejb-ref-name>java_comp-env_name_of_ref</ejb-ref-name>
					<ejb-ref-type>Session</ejb-ref-type>
		<home></home>
	<remote>com.ejbs.business.interface.class.name</remote>
</ejb-ref>
Der entsprechende Abschnitt der Datei ibm-application-client-bnd.xmi würde etwa im folgenden Codebeispiel aussehen. Hier wird ein Muster für die EJB-Standardbindung verwendet. Die Konventionen für die EJB-Standardbindung sind in dem Artikel, der sich mit der Unterstützung von Anwendungsbindungen der EJB Version 3.x befasst, beschrieben.
<ejbRefBindings xmi:id="EjbRefBinding_1"
         jndiName=EJB3App/EJB3Mod.jar/MyBean##com.ejbs.business.interface.class.name">
		<bindingEjbRef href="application-client.xml#EjbRef_1"/>
</ejbRefBindings>

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_consid
Dateiname:rejb_consid.html