Desarrollo de aplicaciones EJB en Liberty
Una aplicación Enterprise Beans (EJB) es un conjunto de beans que se empaquetan como una combinación de un archivo de archivado Java™ (JAR), un archivo de archivado de aplicación web (WAR) o un archivo de archivado de aplicación empresarial (EAR). Liberty proporciona varias características para habilitar el soporte para aplicaciones Enterprise Bean.
Acerca de esta tarea
WebSphere® Application Server Liberty proporciona soporte completo para la especificación de Enterprise Beans. La especificación de Enterprise Beans también define un subconjunto lite, que también es una característica configurable que se proporciona en Liberty. Además, están disponibles otras características opcionales que habilitan configuraciones de servidor que sólo dan soporte a subconjuntos de la especificación completa de Enterprise Beans. Estos subconjuntos permiten el uso de configuraciones de servidor que utilizan menos recursos cuando las aplicaciones instaladas no utilizan todas las prestaciones de la especificación de Enterprise Beans.
Para obtener información sobre el desarrollo de aplicaciones Enterprise Beans utilizando WebSphere Developer Tools, consulte Desarrollo de aplicaciones EJB 3,x.
A partir de Jakarta EE 9, los nombres de característica de Enterprise Beans que se han iniciado anteriormente con ejb se renombran para que empiecen por enterpriseBeans. Por ejemplo, a partir del release de Jakarta EE 9.1 en Liberty versión 21.0.0.12, la característica Enterprise JavaBeans (ejb-3.2) se renombra como característica Jakarta Enterprise Beans (enterpriseBeans-4.0). Las aplicaciones que se escriben utilizando el nombre de paquete javax pueden seguir utilizando las versiones ejb de las características y las aplicaciones que utilizan el nombre de paquete jakarta deben utilizar la versión enterpriseBeans de las características. Para obtener más información sobre los cambios de nombre de característica de Jakarta EE 9, consulte Actualizaciones de características de Jakarta EE 9 en el sitio web de Open Liberty .
- javax.ejb.EJBContext.getCallerIdentity()
- utilice el método
getCallerPrincipal()en su lugar. - javax.ejb.EJBContext.getEnvironment()
- En su lugar, utilice la búsqueda JNDI en
java:comp/env. - javax.ejb.EJBContext.isCallerInRole(java.security.Identity)
- En su lugar, utilice el método
isCallerInRole(String). - javax.ejb.SessionContext.getMessageContext()
- No hay sustitución; este método es para la API JAX- RPC, que Liberty no admite.
- ejbLite
- enterpriseBeansLite
Esta característica habilita el subconjunto lite de la tecnología de enterprise beans tal como se define en la especificación de Enterprise Beans. Este subconjunto incluye soporte para beans de sesión locales que se escriben en las API 3.x de Enterprise Beans. A partir de la característica
ejbLite-3.2, el subconjunto también incluye soporte para temporizadores de enterprise bean no persistentes y métodos de interfaz local asíncrona.Aparte de habilitar la característica en el archivo server.xml, no es necesario realizar ninguna otra configuración para esta característica.
- MDB
Esta característica habilita el subconjunto de beans controlados por mensajes de la tecnología de enterprise beans, que es similar al soporte que las características
ejbLiteyenterpriseBeansLitehabilitan para los beans de sesión. La característica no habilita beans de sesión, por lo que se necesitan los beans de sesión y los beans controlados por mensajes y deberá habilitar ambas características en el archivo server.xml.Nota: los beans de entidad de API Enterprise Beans 2.x no están soportados por Liberty. Para la persistencia, se debe utilizar JPA (Java Persistence API) en su lugar.
- ejbHome
- enterpriseBeansHome
Esta característica habilita el soporte de las API 2.x de Enterprise Beans, específicamente, el soporte para la interfaz javax.ejb.EJBLocalHome . La interfaz javax.ejb.EJBHome también está soportada cuando se combina con las características
ejbRemoteoenterpriseBeansHome. Puesto que esta característica no es útil sin la característicaejbLiteoenterpriseBeansLitecorrespondiente, la habilitación de esta característica habilita automáticamente la característicaejbLiteoenterpriseBeansLitecorrespondiente.Aparte de habilitar la característica en el archivo server.xml , no hay ninguna configuración adicional disponible para esta característica, a menos que la seguridad de aplicación (por ejemplo, la característica
appSeciruty-2.0) también esté habilitada. Cuando la seguridad de aplicación está habilitada, se necesita más configuración de seguridad. Para obtener más información, consulte Iniciación a la seguridad en Liberty.- ejbPersistentTimer
- enterpriseBeansPersistentTimer
Esta característica habilita el soporte para temporizadores Enterprise Beans persistentes. La habilitación de esta característica habilita automáticamente la correspondiente característica ejbLite.
Además de habilitar esta característica en el archivo server.xml, también se debe configurar un origen de datos para proporcionar el almacén persistente para los temporizadores. De forma predeterminada, se utiliza el origen de datos
DefaultDataSource.- ejbRemote
- enterpriseBeansRemote
Esta característica habilita el soporte para interfaces Enterprise Beans remotas. La habilitación de esta característica habilita automáticamente la correspondiente característica ejbLite.
Aparte de habilitar la característica en el archivo server.xml, no es necesario realizar ninguna otra configuración para esta característica.
- EJB
- enterpriseBeans
Esta característica habilita todas las características principales y de extensión para el nivel de especificación de la característica configurada. Por ejemplo,
ejb-3.1habilitaejbLite-3.1ymdb-3.1. Esta característica no proporciona soporte adicional más allá de lo que se proporciona habilitando todas las características de Enterprise Beans principales y de extensión.Aparte de habilitar la característica en el archivo server.xml , no es necesaria ninguna configuración adicional para esta característica más allá de lo que es necesario para las características
ejbPersistentTimer,enterpriseBeansPersistentTimer,ejbRemoteyenterpriseBeansRemote.
- webProfile
- Esta característica habilita todas las características necesarias para Java EE o Jakarta EE Web Profile, que incluye la característica
ejbLiteoenterpriseBeansLite. - Java EE
- jakartaee
- Esta característica habilita todas las características necesarias para el perfil completo Java EE o Jakarta EE, que incluye la característica de conveniencia
ejboenterpriseBeans.
Procedimiento
<featureManager>
<feature>ejbLite-3.2</feature>
</featureManager>
<featureManager>
<feature>enterpriseBeansLite-4.0</feature>
</featureManager>