Propiedades de configuración del contenedor EJB incorporable

Utilice las siguientes propiedades de configuración del contenedor EJB (Enterprise JavaBeans) incorporable.

Tabla 1. Propiedades de configuración del contenedor EJB incorporable. Utilice las propiedades para configuraciones de contenedor EJB incorporables.
Propiedad Tipo Valor por omisión Descripción
com.ibm.websphere.ejbcontainer.cacheSize java.lang.Long 2 053 Número de grupos para la memoria caché de EJB.
com.ibm.websphere.ejbcontainer.cacheSweepInterval java.lang.Long 3 000 Tiempo entre barridos de la memoria caché de EJB para determinar si deben eliminarse entradas.
com.ibm.websphere.ejbcontainer.inactivePoolCleanupInterval java.lang.Long 30 000 Tiempo en milisegundos durante el que debe esperar la hebra de limpieza antes de limpiar la agrupación inactiva.
com.ibm.websphere.ejbcontainer.passivationDir java.lang.String <TempDir> Directorio en el que desactivar beans con estado. El usuario debe tener acceso de lectura y escritura para el directorio especificado.
com.ibm.websphere.embeddable.configFileName java.lang.String <CurrentWorkingDirectory> /embeddable.properties Nombre de archivo de un archivo de propiedades que contiene propiedades del contenedor EJB incorporable. Cuando se procesa este archivo, cada propiedad se pasa al contenedor EJB recién creado como si se pasara mediante programación. Las propiedades pasadas mediante programación prevalecen sobre las propiedades del archivo de configuración.
Atención: También es posible especificar esta propiedad como una propiedad del sistema en la línea de mandatos.

La tabla siguiente contiene las propiedades de configuración de los orígenes de datos. Cada propiedad es específica de un origen de datos individual que le permite configurar varios orígenes de datos con valores diferentes. Sustituya <ID_origen_datos> por un término exclusivo que identifica el origen de datos que se va a configurar. Algunas de las propiedades se listan como necesarias para cada origen de datos.

Tabla 2. Propiedades de configuración del contenedor EJB incorporable para los orígenes de datos JDBC (Java Database Connectivity). Utilice las propiedades de configuración de contenedor EJB incorporables para orígenes de datos JDBC.
Propiedad Tipo Descripción
DataSource.<ID_origen_datos.name java.lang.String Necesario. La serie JNDI (Java™ Naming and Directory Interface) que utiliza el contenedor para enlazar este origen de datos en el espacio de nombres global del contenedor incorporable. Esta serie debe coincidir con la serie de búsqueda JNDI que se utiliza en la aplicación.
DataSource<ID_origen_datos>.className java.lang.String Necesario. El nombre de clase Java de la clase de origen de datos. Para las pruebas, se puede utilizar Apache Derby si raíz_servidor_aplic/derby/lib/derby se encuentra en la classpath de la máquina virtualJava. Las clases de origen de datos soportadas para Apache Derby son org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource y org.apache.derby.jdbc.EmbeddedXADataSource.
DataSource.<ID_origen_datos>.connectionSharing java.lang.String La política para compartir conexiones. Los valores válidos son MatchOriginalRequest (valor predeterminado), MatchCurrentState o Ninguno. MatchOriginalRequest significa que una solicitud de conexión puede compartirse si coincide con los valores solicitados originalmente de una conexión existente. MatchCurrentState significa que una solicitud de conexión puede compartirse si coincide con los valores actuales de una conexión existente. Ninguno significa que varias solicitudes de conexión varios no comparten la misma conexión.
DataSource.<ID_origen_datos>.databaseName java.lang.String Nombre de la base de datos a la que se conecta este origen de datos.
DataSource.<ID_origen_datos>.isolationLevel java.lang.Integer El nivel de aislamiento de transacción para las conexiones de este origen de datos. Si no se especifica, la base de datos o el controlador JDBC proporciona el valor predeterminado.

Los valores válidos son 1 para Lectura no confirmada, 2 para Lectura confirmada, 4 para Lectura repetible u 8 para Serializable. Estos valores proceden de constantes en java.sql.Connection y están sujetas a cambios.

DataSource.<ID_origen_datos>.maxIdleTime java.lang.Integer El número de segundos tras los que la agrupación de conexiones puede cerrar una conexión no utilizada.
DataSource.<ID_origen_datos>.maxPoolSize java.lang.Integer Número máximo de conexiones que se crean para este origen de datos. Después de que se esté utilizando este número de conexiones simultáneas, las solicitudes futuras para obtener una conexión de este origen de datos se bloquean hasta que una o más de las conexiones en uso se han devuelto a la agrupación.
DataSource.<ID_origen_datos>.maxStatements java.lang.Integer El número máximo de sentencias colocadas en la memoria caché por la agrupación de conexiones. Este valor se divide entre el valor de maxPoolSize para determinar el número de sentencias que se pueden colocar en memoria caché para cada conexión de la agrupación. Un valor de 0 inhabilita la sentencia de colocación en memoria caché.
DataSource.<ID_origen_datos>.minPoolSize java.lang.Integer El número mínimo de conexiones que se conservan en la agrupación de conexiones de este origen de datos. Si no hay conexiones en uso, la agrupación de conexiones puede descartar conexiones hasta que el tamaño de la agrupación alcanza este valor. Este valor debe ser no negativo.
DataSource.<ID_origen_datos>.password java.lang.String Contraseña para el usuario específico cuando se accede a la base de datos. Al igual que la propiedad anterior, esta propiedad se puede omitir si la base de datos no tiene la seguridad habilitada o si el nombre de usuario y la contraseña se proporcionan mediante programación al crear la conexión.
DataSource.<ID_origen_datos>.transactional java.lang.Boolean Indica si esta fuente de datos se debe incluir en transacciones JTA (Java Transaction API). Los valores válidos son true (valor predeterminado) o false.
DataSource.<ID_origen_datos>.user java.lang.String Nombre de usuario para acceder a la base de datos. Esta propiedad se puede omitir si la base de datos no tiene la seguridad habilitada o si el nombre de usuario y la contraseña se proporcionan mediante programación al crear la conexión.
DataSource.<ID_origen_datos>.<nombre_propiedad_proveedor_o_nombre_propiedad_agrupación_conexiones> java.lang.String También puede configurar otras propiedades:
  • Propiedades de origen de datos específicas del proveedor como, por ejemplo, serverName y portNumber
  • Las propiedades de origen de datos de WebSphere Application Server como, por ejemplo, userDefinedErrorMap y validateNewConnection
  • Las propiedades de la técnica de agrupación de conexiones de WebSphere Application Server como, por ejemplo, connectionTimeout y purgePolicy
DataSource.<ID_origen_datos>.xaRecoveryPassword java.lang.String Se aplica solamente a orígenes de datos XA. La contraseña para la recuperación de XA.
DataSource.<ID_origen_datos>.xaRecoveryUser java.lang.String Se aplica solamente a orígenes de datos XA. Algunas bases de datos requieren un usuario con privilegios especiales para la recuperación de XA. Utilice esta propiedad para especificar un nombre de usuario para la recuperación de XA en lugar del usuario predeterminado.

Utilice las propiedades siguientes para configurar dos orígenes de datos.

DataSource.ds1.name=env/jdbc/ds1
DataSource.ds1.className=org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource
DataSource.ds1.transactional=true
DataSource.ds1.createDatabase=create
DataSource.ds1.databaseName=jtest1
DataSource.ds1.user=dbuser1
DataSource.ds1.password=dbpwd1
DataSource.ds1.maxPoolSize=5

DataSource.ds2.name=env/jdbc/ds2
DataSource.ds2.className=org.apache.derby.jdbc.EmbeddedXADataSource
DataSource.ds2.connectionSharing=MatchOriginalRequest
DataSource.ds2.createDatabase=create
DataSource.ds2.databaseName=jtest2
DataSource.ds2.user=dbuser2
DataSource.ds2.password=dbpwd2
DataSource.ds2.maxPoolSize=10
DataSource.ds2.minPoolSize=1
DataSource.ds3.name=env/jdbc/ds3
DataSource.ds3.className=com.ibm.db2.jcc.DB2XADataSource
DataSource.ds3.driverType=4
DataSource.ds3.databaseName=DB2COPY1
DataSource.ds3.serverName=mydb2.test.ibm.com
DataSource.ds3.portName=50000
DataSource.ds3.user=dbuser1
DataSource.ds3.password=dbpwd1

El primer origen de datos, ds1, está enlazado en el espacio de nombres bajo el nombre env/jdbc/ds1, y proporciona la agrupación de conexiones de hasta cinco conexiones a una base de datos Apache Derby. El segundo origen de datos, ds2, está enlazado en el espacio de nombres en env/jdbc/ds2 y proporciona la técnica de agrupación de conexiones compatible con XA a una base de datos Apache Derby.

La tabla siguiente contiene propiedades de configuración de los enlaces EJB. Para cada propietat, sustituya:
  • <app> con el nombre de la aplicación.

    El nombre de aplicación es, por omisión, la serie vacía. Sin embargo, el nombre de aplicación puede especificarse utilizando la propiedad EJBContainer.APP_NAME cuando se llama createEJBContainer.

  • <module> con el nombre del módulo.

    El nombre de módulo se especifica en ejb-jar.xml como <module-name>, es el nombre del archivo JAR sin el sufijo ".jar", o es el nombre del directorio que contiene el módulo.

  • <ejb> con el nombre del EJB.

    El nombre del EJB está especificado en ejb-jar.xml como <ejb-name>, o utilizando el elemento del nombre cuando se utilizan anotaciones; por ejemplo, @Stateless(name="TestBean"). Si no se especifica ningún nombre en la anotación de EJB, se utiliza el nombre de clase simple; por ejemplo, TestBean para la clase com.ibm.test.TestBean.

  • <interceptor> con el nombre de una clase de interceptor.
  • <ref> con el nombre de la referencia de recurso, referencia EJB o entrada de entorno.

    La referencia se puede especificar en ejb-jar.xml; por ejemplo, <res-ref-name>jdbc/mydsref</res-ref-name>, o <ejb-ref-name>java:module/env/myejbref</ejb-ref-name>. Alternativamente, la referencia se puede especificar utilizando una anotación; por ejemplo @Resource(name="jdbc/mydsref") o @EJB(name="java:module/env/myenvref").

Si el nombre de la aplicación no se especifica cuando se inicia el contenedor incorporable, el <app> se debe omitir. No obstante, se debe utilizar el delimitador #. Por ejemplo, Bean.#<module>#<bean>.ResourceRef.BindingName.

Tabla 3. Propiedades de configuración del contenedor EJB incorporable para los enlaces de referencia. Utilice las propiedades de configuración del contenedor EJB incorporable para los enlaces de referencia.
Propiedad Tipo Descripción
Bean.<app>#<module>#<ejb>.ResourceRef.BindingName.<ref> or Interceptor.<app>#<module>#<interceptor>.ResourceRef.BindingName.<ref> java.lang.String La serie JNDI para utilizar cuando la referencia de recursos se busca o se inyecta. Debe ser el nombre JNDI de un origen de datos configurado.
Bean.<app>#<module>#<ejb>.EJBRef.BindingName.<ref-name> or Interceptor.<app>#<module>#<interceptor>.EJBRef.BindingName.<ref> java.lang.String La serie JNDI para utilizarla cuando la referencia EJB se busca o se inyecta. Debe ser la serie JNDI java:global, java:app o java:module de un EJB en el contenedor EJB incorporable.
Bean.<app>#<module>#<ejb>.EnvEntry.Value.<ref-name> or Interceptor.<app>#<module>#<interceptor>.EnvEntry.Value.<ref> java.lang.String El valor que se utilizará cuando la entrada de entorno se busca o se inyecta. Esta propiedad altera temporalmente el valor especificado por el valorenv-entry. El valor debe ser válido para el tipo de la entrada de entorno.
Bean.<app>#<module>#<ejb>.EnvEntry.BindingName.<ref> or Interceptor.<app>#<module>#<interceptor>.EnvEntry.BindingName.<ref> java.lang.String La serie JNDI para utilizarla cuando la entrada de entorno se busca o se inyecta. Esto debe ser la serie JNDI java:global, java:app o java:module de otra entrada de entorno en el mismo contenedor de EJB incorporable.
Bean.<app>#<module>#<ejb>.DataSource.BindingName.<ref> or Interceptor.<app>#<module>#<interceptor>.DataSource.BindingName.<ref> java.lang.String La serie JNDI que se utiliza cuando se busca o se inyecta el origen de datos. Debe ser el nombre JNDI de un origen de datos configurado o la serie JNDI java:global, java:app o java:module de otro origen de datos en el mismo contenedor de EJB incorporable. Los desarrolladores de aplicaciones deben utilizar las referencias de recursos en lugar de buscar un origen de datos directamente. Si se ha codificado una aplicación para buscar orígenes de datos directamente, puede utilizar esta propiedad para alterar temporalmente las definiciones de orígenes de datos incluidas en la aplicación. Consulte el Information Center para obtener más información sobre las definiciones de orígenes de datos.

Utilice las propiedades siguientes para configurar los enlaces para un EJB con dos referencias y un interceptor con una entrada de entorno:

Bean.#TestModule#TestBean.ResourceRef.BindingName.jdbc/dsref=env/jdbc/ds1
Bean.#TestModule#TestBean.EJBRef.BindingName.ejb/Cart=java:global/CartModule/CartBean
Interceptor.#TestModule#com.ibm.example.LoggerInterceptor.EnvEntry.Value.logFile=/tmp/output.log
Avoid trouble Avoid trouble: Utilice las siguientes propiedades para alterar temporalmente el java:module/env/TestDataSource que se define en un EJB denominado TestBean en un módulo EJB denominado TestModule, con el jdbc/MyDataSource que se define en las propiedades incorporables:
Bean.#TestModule#TestBean.DataSource.BindingName.java\:module/env/TestDataSource=jdbc/MyDataSource
gotcha
Tabla 4. Propiedades de configuración del contenedor EJB incorporable para la seguridad. Utilice las propiedades de configuración del contenedor EJB incorporables para la seguridad.
Propiedad Tipo Valor por omisión Descripción
com.ibm.websphere.securityEnabled java.lang.String false Determina si se comprueban los roles de seguridad. Los valores válidos son false (valor predeterminado) o true. Si es true, los roles de seguridad se comprueban; si es false, los roles de seguridad no se comprueban.
role.<role_name> java.lang.String   Correlaciona un rol EJB con uno o varios usuarios. El <nombre_rol> es un rol asignado a un método, ya sea mediante la anotación @RolesAllowed o mediante el descriptor de despliegue <method-permission>. El valor es una serie de nombres de usuario delimitada por comas, por ejemplo "bob, mary, john". A los usuarios de la lista se les permite ejecutar métodos que requieren el <nombre_rol>.
role.runAs.<nombre_rol> java.lang.String   Correlaciona un rol de EJB con un usuario. El <nombre_rol> es un rol asignado a un bean o método, ya sea a través de la anotación @RunAs o mediante el descriptor de despliegue <run-as>. El valor es un solo nombre de usuario. El nombre de usuario se utiliza para cualquier autorización necesaria para el bean mientras se está ejecutando.
user.invocation java.lang.String   Define el usuario que puede utilizarse para la autorización cuando el bean se invoca. El valor es un solo nombre de usuario. El contenedor comprueba que este usuario esté correlacionado con un rol al que se le permita ejecutar cualquier método ejecutado.

La tabla siguiente contiene propiedades de configuración del comportamiento del contenedor de transacciones locales (LTC). Para obtener una explicación de LTC, lea la información acerca del contenedor de transacciones locales. Cada propiedad es específica de un bean.

Si el nombre de la aplicación no se especifica cuando se inicia el contenedor incorporable, <nombre_aplicación> deberá omitirse. No obstante, se debe utilizar el delimitador #. Por ejemplo, Bean.#<nombre_módulo>#<nombre_bean>LocalTransaction.Resolver.

Tabla 5. Propiedades de configuración del contenedor EJB incorporable para el contenedor de transacciones locales. Utilice las propiedades de configuración del contenedor EJB incorporable para contener transacciones locales
Propiedad Tipo Valor por omisión Descripción
Bean.<nombre_aplicación>#<nombre_módulo>#<nombre_bean>.LocalTransaction.Resolver java.lang.String Application Determina la entidad que se encarga de la resolución de transacciones locales. Los valores válidos son Application (valor predeterminado) o ContainerAtBoundary.
Bean.<nombre_aplicación>#<nombre_módulo>#<nombre_bean>.LocalTransaction.UnresolvedAction java.lang.String Retrotracción Determina la acción realizada para las transacciones locales no resueltas. Los valores válidos son Rollback (valor predeterminado) o Commit.

La tabla siguiente contiene las propiedades de configuración del comportamiento de XA.

Tabla 6. Propiedades de configuración del EJB incorporable para XA. Utilice las propiedades de configuración EJB incorporables para XA.
Propiedad Tipo Valor por omisión Descripción
com.ibm.websphere.tx.acceptHeuristicHazard java.lang.String false Especifica si el soporte de último participante está habilitado para todos los módulos. El valor predeterminado es false.
com.ibm.websphere.tx.auditRecovery java.lang.String true Especifica si el proceso de recuperación genera mensajes de auditoría, que indican el proceso de recursos XA y de XID durante la recuperación. Cuando no se especifica ninguna recuperación de auditoría, sólo se genera un único mensaje de recuperación junto con el número de transacciones recuperadas, a menos que se produzca un error.
com.ibm.websphere.tx.clientInactivityTimeout java.lang.String 0 Especifica la duración máxima, en segundos, entre solicitudes transaccionales. Cualquier periodo de inactividad del cliente que exceda este valor de tiempo de espera hará que la transacción se retrotraiga. El valor predeterminado, 0, significa que existe ningún límite.
com.ibm.websphere.tx.enableLoggingForHeuristicReporting java.lang.String false Esta propiedad permite el registro cronológico de informes heurísticos. Si el soporte del último participante está habilitado, los informes de resultados heurísticos que pueden producirse cuando el servidor no está disponible requieren que se grabe información adicional en el registro de transacciones. Si se habilita, se grabará un registro adicional para cualquier transacción que implique recursos de compromiso tanto de 1 fase como de 2 fases. No se escriben informes adicionales para las transacciones que no impliquen ningún recurso de compromiso de 1 fase.
com.ibm.websphere.tx.heuristicRetryLimit java.lang.String 0 Especifica el número de veces que el servicio de transacciones reintenta una señal de finalización, como una confirmación o una retrotracción. Los reintentos se producen después de una excepción transitoria de un gestor de recursos. El valor predeterminado, 0, indica que no hay ningún límite en el número de reintentos.
com.ibm.websphere.tx.heuristicRetryWait java.lang.String 0 Especifica el número de segundos que el servicio de transacciones espera antes de reintentar una señal de finalización, como una confirmación o una retrotracción, después de producirse una excepción transitoria de un gestor de recursos.
com.ibm.websphere.tx.LPSHeuristicCompletion java.lang.String RETROTRAER

(no es sensible a mayúsculas y minúsculas)

La acción de finalización heurística que realizará el servicio de transacciones en una transacción con el soporte de último participante cuando el resultado del recurso de compromiso de una fase es desconocido. Los valores ROLLBACK o COMMIT hacen que los recursos de compromiso de dos fases se completen de la forma correspondiente. El valor MANUAL significa que el servicio de transacciones no realizará ninguna acción y dejará los recursos de compromiso de dos fases como dudosos. El valor predeterminado es ROLLBACK.
com.ibm.websphere.tx.maximumTransactionTimeout java.lang.String 300 Especifica, en segundos, el límite superior del valor de tiempo de espera de transacción. Este valor de tiempo de espera restringe el límite superior de todos los demás valores de tiempo de espera de transacción.
com.ibm.websphere.tx.totalTranLifetimeTimeout java.lang.String 120 Especifica el tiempo máximo, en segundos, permitido para una transacción antes de que el servicio de transacciones inicie el tiempo de espera. Las transacciones que no empiezan el proceso de finalización antes de que se produzca el tiempo de espera se retrotraen.
com.ibm.websphere.tx.tranLogDirectory java.lang.String profiles\nombre servidor\tranlog Especifica el nombre de un directorio de este servidor donde el servicio de transacciones almacena los archivos de registro cronológico para la recuperación.
com.ibm.websphere.tx.tranLogSize java.lang.String 1024 Especifica el tamaño, en kilobytes, de los archivos de registro de transacciones. El tamaño de archivo mínimo es de 64KB. El valor predeterminado establece un tamaño de archivo de 1MB.

Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_emconproperties
File name: rejb_emconproperties.html