Configuración de las diferencias entre el WebSphere Application Server tradicional y Liberty: los elementos dataSource y jdbcDriver
Existen algunas diferencias de configuración entre dataSource en Liberty y los orígenes de datos del WebSphere Application Server tradicional.
- Propiedades de orígenes de datos con nombres diferentes
- ifxIFX_LOCK_MODE_WAIT, que es informixLockModeWait en el WebSphere Application Server tradicional.
- supplementalJDBCTrace, que es supplementalTrace en el WebSphere Application Server tradicional.
- transactional, que es nonTransactionalDataSource en el WebSphere Application Server tradicional.
- isolationLevel, que es webSphereDefaultIsolationLevel en el WebSphere Application Server tradicional.
- queryTimeout, que es webSphereDefaultQueryTimeout en el WebSphere Application Server tradicional.
- id, que es name en el WebSphere Application Server tradicional.
- Propiedades de orígenes de datos con valores diferentes
- beginTranForResultSetScrollingAPIs, que es true de forma predeterminada en Liberty
- beginTranForVendorAPIs, que es true de forma predeterminada en Liberty
- connectionSharing, que es MatchOriginalRequest de forma predeterminada en Liberty
- statementCacheSize, que es una propiedad de proveedor JDBC en el WebSphere Application Server tradicional y una propiedad dataSource en Liberty, con el valor predeterminado de 10.
- Propiedades de origen de datos del WebSphere Application Server tradicional
que no tienen equivalente en Liberty
- category
- supportsDynamicUpdates
- La propiedad connectionSharing de los orígenes de datos
- Liberty permite configurar connectionSharing en MatchOriginalRequest o MatchCurrentState. De forma predeterminada, es MatchOriginalRequest.
- El WebSphere Application Server tradicional 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 WebSphere Application Server tradicional, 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 WebSphere Application Server tradicional, un valor 0 significa que coincide con todas las propiedades que se basan en la solicitud de conexión original. Un valor -1 significa que coincide con todas las propiedades que se basan en el estado actual de la conexión. El valor predeterminado para el WebSphere Application Server tradicional es 1, que significa que el nivel de aislamiento se hace coincidir basándose en el estado actual de la conexión. Todas las demás propiedades se hacen coincidir basándose en la solicitud de conexión original.
- Propiedades de duración del origen de datosOpcionalmente, se pueden definir las propiedades de duración con unidades en Liberty. Por ejemplo:
Consulte la sección Java Database Connectivity 4.1 para obtener las unidades de tiempo y los formatos del elemento dataSource. Omitir las unidades en Liberty es equivalente a las unidades predeterminadas que se utilizan en el WebSphere Application Server tradicional.<dataSource id="informix" jndiName="jdbc/informix" queryTimeout="5m" ...> <properties.informix ifxIFX_LOCK_MODE_WAIT="120s" .../> </dataSource>
- Configuración para controladores JDBC
- En Liberty, puede realizar el mismo método para configurar los diferentes elementos jdbcDriver 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 Liberty, los elementos jdbcDriver utilizan siempre el cargador de clases de la biblioteca compartida con el que se han configurado.
- En el WebSphere Application Server tradicional, 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, Liberty infiere los nombres de clase de implementación de origen de datos que se basan en 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.
Para alterar temporalmente las implementaciones de javax.sql.XADataSource y javax.sql.ConnectionPoolDataSource predeterminadas seleccionadas por Liberty:
Para obtener más información sobre el elemento jdbcDriver, consulte Java Database Connectivity 4.1.<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>