Configuración de adaptadores de recursos
Puede configurar adaptadores de recursos que sean compatibles con las versiones 1.6, 1.5 o 1.0 de la especificación JCA (Java™ EE Connector Architecture).
Acerca de esta tarea
Puede instalar y configurar un adaptador de recursos y las diversas fábricas de conexiones, objetos administrados y especificaciones de activación tal como se define en la especificación de JCA.
Procedimiento
Ejemplo
Es necesario un identificador exclusivo para un adaptador de recursos para que identifique instancias configuradas de las fábricas de conexiones, objetos administrados y especificaciones de activación que están asociados a un adaptador de recursos instalado. Para adaptadores de recursos autónomos, el nombre de módulo se utiliza como identificador. Para los adaptadores de recursos incorporados en aplicaciones, se utiliza como identificador la combinación del nombre de la aplicación más el nombre del módulo (delimitado por el carácter de punto).
Para especificar propiedades para un adaptador de recursos autónomo utilizando un subelemento properties.MyAdapter que incluya el identificador de adaptadores de recursos, MyAdapter:
<resourceAdapter location="C:/adapters/MyAdapter.rar"> <properties.MyAdapter logFile="${server.output.dir}/logs/myAdapter.log"/> </resourceAdapter>
Para asociar una fábrica de conexiones a un adaptador de recursos autónomo utilizando un subelemento properties.MyAdapter que incluya el identificador de adaptadores de recursos, MyAdapter:
<resourceAdapter location="C:/adapters/MyAdapter.rar"/> <connectionFactory jndiName="eis/cf"> <properties.MyAdapter serverName="localhost" portNumber="1234"/> </connectionFactory>
Para asociar una fábrica de conexiones a un adaptador de recursos MyEmbeddedAdapter, que se ha habilitado en la aplicación app1, utilizando un subelemento properties.app1.MyEmbeddedAdapter:
<application location="C:/applications/app1.ear"/> <connectionFactory jndiName="eis/cf"> <properties.app1.MyEmbeddedAdapter serverName="localhost" portNumber="1234"/> </connectionFactory>
En algunos casos, el nombre de módulo no es suficientemente exclusiva para que sirva de identificador. Esto puede ocurrir, por ejemplo, si ha instalado dos versiones distintas del mismo adaptador de recursos. De forma alternativa, el nombre de módulo puede ser exclusivo, pero no es lo deseable para utilizarlo en la configuración porque es demasiado largo o contiene caracteres alfanuméricos. Puede alterar temporalmente el identificador de adaptadores de recursos especificando el atributo del ID.
En el ejemplo siguiente se muestra cómo alterar temporalmente el identificador para los adaptadores de recursos autónomos:
<resourceAdapter id="MyAdapterV1" location="C:/adapters/version-1.0/MyAdapter.rar"/> <resourceAdapter id="MyAdapterV2" location="C:/adapters/version-2.0/MyAdapter.rar"/> <connectionFactory jndiName="eis/cf1"> <properties.MyAdapterV1 serverName="localhost" portNumber="1234"/> </connectionFactory> <connectionFactory jndiName="eis/cf2"> <properties.MyAdapterV2 serverName="localhost" portNumber="1234"/> </connectionFactory>
El ejemplo siguiente muestra cómo alterar temporalmente el identificador para un adaptador de recursos incorporado en una aplicación. En el ejemplo se cambia el identificador por MyEmbeddedRA:
<application location="C:/applications/app1.ear"> <resourceAdapter id="MyEmbeddedAdapter" alias="MyEmbeddedRA"/> </application> <connectionFactory jndiName="eis/cf"> <properties.app1.MyEmbeddedRA serverName="localhost" portNumber="1234"/> </connectionFactory>
Para calcular el nombre del módulo para adaptadores de recursos incorporados, la entrada <module-name> del descriptor de despliegue del adaptador de recursos (ra.xml) tiene prioridad como nombre de módulo. Por ejemplo, dada la definición siguiente en ra.xml:
<connector ...> <module-name>MyRARModule</module-name> </connector>
el nombre del módulo se definiría en "MyRARModule".
Si no está el nombre del módulo en el descriptor de despliegue del conector, se utilizará el formato corto del URI que hace referencia al módulo de adaptadores de recursos en el descriptor de despliegue de la aplicación (application.xml). Por ejemplo, dada la definición del módulo siguiente en application.xml:
<module> <connector>connectors/MyRARModule.rar</connector> </module>
el nombre de módulo se computaría como "MyRARModule".
Si se incorporan varios adaptadores de recursos en una aplicación y define el mismo valor <module-name>, la primera listada en el application.xml utiliza dicho nombre de módulo. Los nombres de módulo de los otros conectores con el mismo nombre en conflicto se calcularán a partir del formato completo del URI con todos los caracteres con / (barra inclinada) convertidos en un punto (.). Por ejemplo, si hay dos conectores incorporados en una aplicación que contengan ambos la siguiente definición en ra.xml:
<connector ...> <module-name>MyRARModule</module-name> </connector>
y las definiciones siguientes en application.xml:
<module> <connector>subfolder1/connector1.rar</connector> </module> <module> <connector>subfolder2/connector2.rar</connector> </module>
El nombre del módulo del primer conector sería "MyRARModule" y el nombre del módulo del segundo conector sería "subfolder2.connector2.rar"