Utilizar enlaces de WebSphere para definir nombres JNDI de bean controlado por mensaje

Un descriptor controlado por mensaje configura el destino del receptor de mensajes. Una referencia de destino de mensajes es un nombre lógico que se utiliza para ubicar un enterprise bean en un módulo EJB que actúa como destino de mensajes. Las referencias de destino de mensajes sólo existen en J2EE 1.4 y artefactos posteriores como, por ejemplo:

Si varias referencias de destino de mensajes se asocian con un enlace de destino de mensajes individual, durante el despliegue se recopila un nombre JNDI individual para un enterprise bean que se correlaciona con el enlace de destino de mensajes y, a su vez, con todas las referencias de destino de mensajes enlazadas. En el tiempo de ejecución, las referencias de destino de mensajes se enlazan con los destinos de mensajes administrados en el entorno operativo de destino. Si una referencia de destino de mensajes y un bean controlado por mensaje están enlazados por el mismo destino de mensajes, la referencia y el bean deben tener el mismo nombre JNDI de destino. Si ambos tienen el mismo nombre, sólo se recopila el nombre JNDI de destino para el bean controlado por mensaje y se aplica a la referencia de destino de mensajes correspondiente. Si un desplegador elige generar enlaces predeterminados cuando instala la aplicación, el asistente de instalación asigna nombres JNDI a las siguientes referencias de destino de mensajes incompletas:
Si una referencia de destino de mensaje tiene un < message-destination-link>, el nombre JNDI se establece en ejs/message-destination-linkName . De lo contrario, el nombre JNDI se establece en eis/message-destination-refName .

Esta regla detecta los nombres JNDI de destino para los beans controlados por mensaje. Una solución automatizada copiará el nombre JNDI de destino del archivo weblogic-ejb-jar.xml al archivo de enlaces de WebSphere(R ) Application Server. Sin embargo, la corrección automática no establecerá el nombre JNDI de ActivationSpec ni migrará las propiedades de configuración de la activación en ejb-jar.xml.

Solución manual para Liberty


Soluciones manuales para WebSphere tradicional

Un desarrollador de aplicaciones puede crear definiciones de enlaces en los archivos ibm-xxx-bnd.xml para módulos EJB 3.0 y Web 2.5, y en los archivos ibm-xxx-bnd.xmi para los módulos que existían antes de Java(R) Platform, Enterprise Edition (Java EE) 5. El desarrollador de aplicaciones puede crear los archivos utilizando una herramienta como, por ejemplo, una herramienta de desarrollador de IBM(R) Rational(R) o, para los módulos EJB 3.0 o Web 2.5, utilizando un editor XML o un editor de texto. A continuación, el desarrollador proporciona una aplicación empresarial (archivo .ear) que se completa con enlaces a un desplegador o un ensamblador de aplicaciones. Cuando se ensambla la aplicación, el ensamblador no modifica los enlaces. De forma parecida, cuando se instala la aplicación en un servidor soportado por WebSphere Application Server, el desplegador no modifica ni altera temporalmente los enlaces, ni genera enlaces predeterminados a menos que los enlaces sean necesarios para el despliegue satisfactorio de la aplicación.

Para realizar los cambios necesarios en Rational Application Developer para los beans EJB 2.1, realice estas acciones:
  1. Inicie la herramienta de ensamblaje, Rational Application Developer.
  2. Abra el proyecto EJB correcto.
  3. Efectúe una doble pulsación en el descriptor de despliegue.
  4. Pulse el bean controlado por mensaje correcto.
  5. Desplácese hacia abajo a la sección Enlaces de WebSphere.
  6. Seleccione el recuadro de selección Adaptador JCA y especifique el nombre JNDI de ActivationSpec.


Para realizar los cambios necesarios en la consola administrativa para los beans EJB 2.0, realice las acciones siguientes: Rational Application Developer Versión 7.0 no da soporte al establecimiento de las especificaciones de activación de EJB 2.1 para los beans EJB 2.0. Sólo puede establecer las especificaciones de activación de EJB 2.1 para los beans EJB 2.1.
  1. Establezca la especificación de activación para MDB utilizando la consola administrativa cuando despliegue la aplicación en WebSphere Application Server.
  2. Exporte el archivo EAR para la aplicación desde la consola administrativa.
  3. Copie el descriptor de despliegue desde el archivo EAR en el proyecto, para que tenga la especificación de activación correcta.

Definir enlaces durante el ensamblaje de aplicaciones

Un ensamblador de aplicaciones puede definir enlaces en anotaciones o descriptores de despliegue de una aplicación. Los módulos Java EE 5 contienen anotaciones en el código fuente. Para declarar una anotación, un ensamblador de aplicaciones precede una palabra clave con el carácter @. Los enlaces para los módulos anteriores a Java EE 5 se especifican en la sección Enlaces de WebSphere de un editor de descriptores de despliegue. Si modifica los descriptores de despliegue, puede cambiar las definiciones de enlaces en los archivos de enlaces que se crean cuando se desarrolla una aplicación. Después de definir los enlaces, el ensamblador proporciona la aplicación a un desplegador. Cuando se instala la aplicación en un servidor soportado por WebSphere Application Server, el desplegador no modifica ni altera temporalmente los enlaces, ni genera enlaces predeterminados a menos que los enlaces sean necesarios desplegar la aplicación.


Definir enlaces durante la instalación de aplicaciones

Un desplegador de aplicaciones o un administrador de servidores puede modificar los enlaces cuando instale la aplicación en un servidor soportado por WebSphere Application Server utilizando la consola administrativa. Se pueden especificar nuevas definiciones de enlaces en las páginas del asistente de instalación.
Además, un desplegador o administrador puede optar por generar enlaces por omisión durante la instalación de una aplicación. Cuando se elige generar enlaces predeterminados durante la instalación de la aplicación, se indica al producto que complete los enlaces en la aplicación con valores predeterminados. Los enlaces existentes no sufrirán ninguna modificación.
Restricción: no puede definir ni alterar temporalmente enlaces durante la instalación de la aplicación para los clientes de aplicaciones. Los enlaces para los módulos de cliente de aplicaciones deben definirse durante el ensamblaje y almacenarse en el archivo de enlaces.


Definir enlaces durante la configuración de una instalación de aplicaciones

Una vez instalada una aplicación en un servidor soportado por WebSphere Application Server, un desplegador de aplicaciones o un administrador de servidores puede modificar los enlaces cambiando los valores en las páginas de la consola administrativa como, por ejemplo, aquellos a los que se accede desde la página de configuración de la aplicación empresarial.