EJB-Anwendungen in Liberty entwickeln
Eine Enterprise-Beans-Anwendung (EJB) ist eine Gruppe von Beans, die als Kombination aus einer JAR-Datei (Java™ Archive), einer WAR-Datei (Web Application Archive) oder einer EAR-Datei (Enterprise Application Archive) gepackt werden. Liberty stellt mehrere Features für die Unterstützung von Enterprise-Bean-Anwendungen zur Verfügung.
Informationen zu dieser Task
WebSphere® Application Server Liberty bietet vollständige Unterstützung für die Enterprise-Beans-Spezifikation. Die Enterprise-Beans-Spezifikation definiert auch ein Lite-Subset, das auch ein konfigurierbares Feature ist, das in Libertybereitgestellt wird. Außerdem sind mehrere weitere optionale Features verfügbar, die Serverkonfigurationen aktivieren, die nur Untergruppen der vollständigen Enterprise-Beans-Spezifikation unterstützen. Diese Untergruppen ermöglichen die Verwendung von Serverkonfigurationen, die weniger Ressourcen verwenden, wenn die installierten Anwendungen nicht alle Funktionen der Enterprise-Beans-Spezifikation verwenden.
Informationen zum Entwickeln von Enterprise-Beans-Anwendungen mit WebSphere Developer Toolsfinden Sie unter Developing EJB 3,x applications.
Ab Jakarta EE 9 werden die Enterprise-Beans-Featurenamen, die zuvor mit ejb gestartet wurden, in enterpriseBeansumbenannt. Ab dem Release Jakarta EE 9.1 in Liberty Version 21.0.0.12wird das Feature Enterprise JavaBeans (ejb-3.2) beispielsweise in das Feature Jakarta Enterprise Beans (enterpriseBeans-4.0) umbenannt. Anwendungen, die mit dem Paketnamen javax geschrieben wurden, können weiterhin die ejb -Versionen der Features verwenden, und Anwendungen, die den Paketnamen jakarta verwenden, müssen die enterpriseBeans -Version der Features verwenden. Weitere Informationen zu Namensänderungen für Features von Jakarta EE 9 finden Sie unter Aktualisierungen für Features von Jakarta EE 9 auf der Website Open Liberty .
- javax.ejb.EJBContext.getCallerIdentity()
- Verwenden Sie stattdessen die Methode
getCallerPrincipal(). - javax.ejb.EJBContext.getEnvironment()
- Verwenden Sie stattdessen die JNDI-Suche in
java:comp/env. - javax.ejb.EJBContext.isCallerInRole(java.security.Identity)
- Verwenden Sie stattdessen die Methode
isCallerInRole(String). - javax.ejb.SessionContext.getMessageContext()
- Kein Ersatz; diese Methode ist für die JAX- RPC -API vorgesehen, die Liberty nicht unterstützt.
- ejbLite
- enterpriseBeansLite
Dieses Feature aktiviert die Lite-Untergruppe der Enterprise-Bean-Technologie gemäß der Definition in der Enterprise-Beans-Spezifikation. Diese Untergruppe enthält Unterstützung für lokale Session-Beans, die für die Enterprise-Beans-APIs 3.x geschrieben wurden. Ab dem Feature
ejbLite-3.2enthält das Subset auch Unterstützung für nicht persistente Enterprise-Bean-Zeitgeber und asynchrone lokale Schnittstellenmethoden.Dieses Feature muss lediglich in der Datei server.xml aktiviert werden und erfordert keine zusätzliche Konfiguration.
- mdb
Dieses Feature aktiviert die MDB-Teilmenge der Enterprise-Bean-Technologie, die der Unterstützung ähnelt, die die Features
ejbLiteundenterpriseBeansLitefür Session-Beans aktivieren. Das Feature aktiviert keine Session-Beans. Wenn daher sowohl Session-Beans als auch Message-driven Beans benötigt werden, müssen beide Features in der Datei server.xml aktiviert werden.Anmerkung: Enterprise Beans 2.x API-Entity-Beans werden von Libertynicht unterstützt. Für die Persistenz muss stattdessen JPA (Java Persistence API) verwendet werden.
- ejbHome
- enterpriseBeansHome
Dieses Feature aktiviert die Unterstützung der APIs von Enterprise Beans 2.x , insbesondere die Unterstützung für die Schnittstelle javax.ejb.EJBLocalHome . Die Schnittstelle javax.ejb.EJBHome wird auch unterstützt, wenn sie mit den Features
ejbRemoteoderenterpriseBeansHomekombiniert wird. Da dieses Feature ohne das entsprechende FeatureejbLiteoderenterpriseBeansLitenicht nützlich ist, wird durch die Aktivierung dieses Features automatisch das entsprechende FeatureejbLiteoderenterpriseBeansLiteaktiviert.Abgesehen von der Aktivierung des Features in der Datei server.xml ist keine zusätzliche Konfiguration für das Feature verfügbar, es sei denn, die Anwendungssicherheit (z. B. das Feature
appSeciruty-2.0) ist ebenfalls aktiviert. Wenn die Anwendungssicherheit aktiviert ist, ist eine weitere Sicherheitskonfiguration erforderlich. Weitere Informationen finden Sie unter Einführung in die Sicherheit in Liberty.- ejbPersistentTimer
- enterpriseBeansPersistentTimer
Dieses Feature aktiviert die Unterstützung für persistente Enterprise-Beans-Zeitgeber. Wenn Sie dieses Feature aktivieren, wird auch automatisch das entsprechende Feature "ejbLite" aktiviert.
Außer dass Sie dieses Feature in der Datei server.xml aktivieren, müssen Sie auch eine Datenquelle konfigurieren, um den persistenten Speicher für die Zeitgeber bereitzustellen. Standardmäßig wird die Datenquelle
DefaultDataSourceverwendet.- ejbRemote
- enterpriseBeansRemote
Dieses Feature aktiviert die Unterstützung für ferne Enterprise-Beans-Schnittstellen. Wenn Sie dieses Feature aktivieren, wird auch automatisch das entsprechende Feature "ejbLite" aktiviert.
Dieses Feature muss lediglich in der Datei server.xml aktiviert werden und erfordert keine zusätzliche Konfiguration.
- ejb
- enterpriseBeans
Dieses Feature aktiviert alle Kern-und Erweiterungsfeatures für die Spezifikationsstufe des konfigurierten Features. Beispielsweise aktiviert
ejb-3.1die FeaturesejbLite-3.1undmdb-3.1. Dieses Feature bietet keine zusätzliche Unterstützung über das, was durch die Aktivierung aller Kern-und Erweiterungs-Enterprise-Beans-Features bereitgestellt wird.Abgesehen von der Aktivierung des Features in der Datei server.xml ist für dieses Feature keine zusätzliche Konfiguration erforderlich, die über die für die Features
ejbPersistentTimer,enterpriseBeansPersistentTimer,ejbRemoteundenterpriseBeansRemoteerforderlichen Komponenten hinausgeht.
- webProfile
- Dieses Feature aktiviert alle Features, die für Java EE oder Jakarta EE Web Profile erforderlich sind, das das Feature
ejbLiteoderenterpriseBeansLiteenthält. - Java EE
- Jakartaee
- Dieses Feature aktiviert alle Features, die für Java EE oder Jakarta EE Full Profile erforderlich sind, das das Komfortfeature
ejboderenterpriseBeansenthält.
Vorgehensweise
<featureManager>
<feature>ejbLite-3.2</feature>
</featureManager>
<featureManager>
<feature>enterpriseBeansLite-4.0</feature>
</featureManager>