Configuración de las diferencias entre el perfil completo y el perfil Liberty: los elementos dataSource y jdbcDriver
Hay algunas diferencias de configuración entre dataSource en el perfil Liberty y los orígenes de datos del perfil completo.
- Propiedades de orígenes de datos con nombres diferentes
- ifxIFX_LOCK_MODE_WAIT, que es informixLockModeWait en el perfil completo.
- supplementalJDBCTrace, que es supplementalTrace en el perfil completo.
- Propiedades de orígenes de datos con valores diferentes
- beginTranForResultSetScrollingAPIs, que es true de forma predeterminada en el perfil Liberty
- beginTranForVendorAPIs, que es true de forma predeterminada en el perfil Liberty
- connectionSharing, que es MatchOriginalRequest de forma predeterminada en el perfil Liberty
- statementCacheSize, que es 10 de forma predeterminada en el perfil Liberty
- La propiedad connectionSharing de los orígenes de datos
- El perfil Liberty permite configurar connectionSharing en MatchOriginalRequest o MatchCurrentState. De forma predeterminada, es MatchOriginalRequest.
- El perfil completo permite que connectionSharing se configure de forma más precisa, ya que las propiedades de conexión individuales pueden correlacionarse con la solicitud de conexión original o el estado actual de la conexión. En el perfil completo, connectionSharing es una combinación de bits que representan propiedades de conexión para una coincidencia basada en el estado actual de la conexión. En el perfil completo, un valor 0 significa que se correlacionan todas las propiedades según la solicitud de conexión original; un valor -1 significa que se correlacionan todas las propiedades basándose en el estado actual de la conexión. El valor predeterminado del perfil completo es 1, lo que significa que el nivel de aislamiento se hace coincidir con el estado actual de la conexión y todas las otras propiedades se han coincidir basándose en la solicitud de conexión original.
- Propiedades de duración del origen de datos Opcionalmente, se pueden definir las propiedades de duración con unidades en el perfil Liberty. Por ejemplo:
Consulte la sección Elementos de configuración en el archivo server.xml para obtener las unidades de tiempo y los formatos del elemento dataSource. Omitir las unidades en el perfil Liberty es equivalente a las unidades predeterminadas que se utilizan en el perfil completo.<dataSource id="informix" jndiName="jdbc/informix" queryTimeout="5m" ...> <properties.informix ifxIFX_LOCK_MODE_WAIT="120s" .../> </dataSource>
- Configuración para controladores JDBC
- En el perfil Liberty, puede realizar el mismo método para configurar los diferentes elementosjdbcDriver para las clases de implementación de orígenes de datos con posibilidad de XA o sin ella. De forma alternativa, , puede utilizar un solo elemento jdbcDriver para ambos tipos. Definir varios elementos jdbcDriver no hace que se utilicen cargadores de clases diferentes. En el perfil Liberty, los elementos jdbcDriver utilizan siempre el cargador de clases de la biblioteca compartida con el que se han configurado.
- En el perfil completo, se define un proveedor JDBC para que apunte a los JAR del controlador JDBC, los archivos comprimidos y los archivos nativos. Debe definir distintos proveedores de JDBC para las clases de implementación de orígenes de datos con posibilidad XA y sin ella.
Para algunos de los controladores JDBC utilizados más comúnmente, el perfil Liberty infiere los nombres de las clases de implementación de los orígenes de datos en función de los nombres de los JAR de controlador. Por lo tanto, puede omitir los nombres de clase de implementación. Por ejemplo:<jdbcDriver id="Derby" libraryRef="DerbyLib"/> <library id="DerbyLib"> <fileset dir="C:/Drivers/derby" includes="derby.jar" /> </library>
Utilice las propiedades opcionales de las clases de implementación predeterminadas para alterarlas temporalmente, por ejemplo, javax.sql.DataSource, javax.sql.ConnectionPoolDataSource y javax.sql.XADataSource.
El ejemplo siguiente muestra cómo alterar temporalmente las implementaciones de javax.sql.XADataSource y javax.sql.ConnectionPoolDataSource predeterminadas seleccionadas por el perfil Liberty
Consulte Elementos de configuración en el archivo server.xml para obtener más información sobre el elemento jdbcDriver.<jdbcDriver id="Derby" libraryRef="DerbyLib" javax.sql.XADataSource="org.apache.derby.jdbc.EmbeddedXADataSource" javax.sql.ConnectionPoolDataSource="org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource"/> <library id="DerbyLib"> <fileset dir="C:/Drivers/derby" includes="derby.jar" /> </library>