Si desea que la base de datos a la que se accede a través de una conexión JDBC de tipo 4 participe en transacciones coordinadas globalmente, configure el entorno adecuado.
Las actualizaciones que realice en una base de datos a través de una conexión JDBC de tipo 4 se pueden coordinar con otras
acciones realizadas dentro del flujo de mensajes si configura los recursos para que den soporte a la coordinación.
Lleve a cabo los siguientes pasos:
- Compruebe que la definición del servicio JDBCProvider es apropiado para las transacciones coordinadas.
Por ejemplo, para establecer las clases de
JDBC necesarias:
- Para DB2, establezca com.ibm.db2.jcc.DB2XADataSource como valor de type4DatasourceClassName y com.ibm.db2.jcc.DB2Driver como valor de type4DriverClassName.
- Para Oracle, establezca oracle.jdbc.xa.client.OracleXADataSource como valor de type4DatasourceClassName y oracle.jdbc.OracleDriver como valor de type4DriverClassName
Consulte al administrador de la base de datos o bien consulte la documentación suministrada por el proveedor de la base de datos, para confirmar que todas las propiedades del servicio JDBCProvider se han establecido del modo adecuado. Por ejemplo, un suministrador de base de datos podría precisar de un acceso seguro si está participando en transacciones coordinadas.
- Defina el archivo conmutado y las propiedades de base de datos:

En sistemas Linux y UNIX, abra con editor de texto el
archivo qm.ini para
el gestor de colas del intermediario. Añada la siguiente stanza para cada base de datos: XAResourceManager:
Name=Nombre_base_datos
SwitchFile=ConmutaciónJDBC
XAOpenString=OrigenDatos_JDBC
ThreadOfControl=THREAD
Nombre_Base_Datos es el nombre de base de datos (DSN) de la base de datos definida en el servicio configurable JDBCProvider (por ejemplo, especificado por -n databaseName -v Nombre_Base_Datos en el mandato mqsichangeproperties).
JDBCSwitch es un nombre genérico fijo que representa el archivo de conmutación para la coordinación XA.
Utilice este valor u otro valor individual fijo en cada stanza; el archivo de conmutación específico que utiliza el gestor de colas
se define mediante los enlaces simbólicos que creará en el paso siguiente,
OrigenDatos_JDBC es el identificador del servicio configurable JDBCProvider (el valor que ha especificado para el parámetro -o en el mandato mqsichangeproperties).
Defina una stanza para cada base de datos (DNS) a la que se conecte desde este intermediario.
Debe crear definiciones separadas
incluso si los DSN se resuelven en la misma base de datos física. Por consiguiente, debe tener una stanza para cada servicio configurable JDBCProvider que haya definido; porque cada servicio puede definir las propiedades de una sola base de datos.
En sistemas Windows en x86, abra
WebSphere MQ Explorer y seleccione el gestor de colas para el intermediario, por ejemplo,
example BROKERQM. Abra la página gestor de recursos XA y modifique los atributos para crear la definición de la base de datos.
Los
atributos son los mismos que se muestran para
Linux y UNIX; Name, SwitchFile, XAOpenString
y ThreadofControl. Deje del atributo adicional, XACloseString, en blanco.
Entre el nombre de archivo completo en SwitchFile;
dir_instalación\bin\JDBCSwitch.dll.
En sistemas Windows en x86-64, abra
WebSphere MQ Explorer y seleccione el gestor de colas para el intermediario, por ejemplo,
example BROKERQM. Abra la página gestor de recursos XA y modifique los atributos para crear la definición de la base de datos. Los
atributos son los mismos que se muestran para
Linux y UNIX; Name, SwitchFile, XAOpenString
y ThreadofControl. Deje del atributo adicional, XACloseString, en blanco.
Escriba JDBCSwitch en SwitchFile.
- Establezca el acceso del gestor de colas al archivo de conmutación:

En Linux y en Sistemas UNIX, cree un enlace simbólico a los archivos de conmutación que se suministran en el directorio dir_instalación/lib. dir_instalación es el directorio en el que ha instalado el componente de intermediario. La ubicación predeterminada de este directorio es /opt/ibm/mqsi/v.r.m.f en Linux o bien /opt/IBM/mqsi/v.r.m.f en Sistemas UNIX. El
directorio predeterminado incluye la versión, release, modificación y arreglo
del producto, en el formato v.r.m.f (versión.release.modificación.arreglo).
Establezca enlaces en el directorio /var/mqm/exits o en el directorio
/var/mqm/exits64, o en ambos. Los nombres de archivo de cada plataforma se muestran en la siguiente tabla.
Plataforma |
Archivo de 32 bits |
Archivo de 64 bits |
AIX
|
|
libJDBCSwitch.so |
HP-Itanium
|
|
libJDBCSwitch.so |
Linux en POWER
|
|
libJDBCSwitch.so |
Linux en System
z
|
|
libJDBCSwitch.so |
Linux en x86
|
libJDBCSwitch.so |
|
Linux en
x86-64
|
|
libJDBCSwitch.so |
Solaris en SPARC
|
|
libJDBCSwitch.so |
Solaris
en x86-64
|
|
libJDBCSwitch.so |
Especifique el mismo nombre de archivo de conmutación, JDBCSwitch o el valor que prefiera, en los dos directorios
/exits y /exits64.
Por
ejemplo, en AIX:
ln -s dir_instalación/lib/libJDBCSwitch.so /var/mqm/exits/JDBCSwitch
y
ln -s dir_instalación/lib/libJDBCSwitch.so /var/mqm/exits64/JDBCSwitch
En Windows, para la versión de 32 bits de
WebSphere Message Broker, copie el archivo JDBCSwitch.dll desde el directorio dir_instalación\bin al subdirectorio \exits en el directorio de instalación de WebSphere MQ.
En Windows, para la versión de 64 bits de WebSphere Message Broker, copie el archivo JDBCSwitch32.dll desde el directorio dir_instalación\bin en al subdirectorio \exits en el directorio de instalación de WebSphere MQ y cambie el nombre del archivo por JDBCSwitch.dll. A continuación, copie el archivo JDBCSwitch.dll del directorio dir_instalación\bin al subdirectorio \exits64 en el directorio de instalación de WebSphere MQ.
- Configure el flujo de mensajes que incluye uno o más nodos que acceden a bases de datos que van a participar en una transacción coordinada globalmente.
- Abra una sesión de WebSphere Message Broker Toolkit.
- Vaya a la perspectiva
Desarrollo de aplicaciones de intermediario.
- Añada a un archivo BAR nuevo o ya existente el flujo de mensajes que incluye el nodo o nodos que conectan con la base de datos que va a
participar en una transacción coordinada globalmente.
- Compile el archivo BAR.
- Pulse en el separador Configurar, seleccione el flujo de mensajes que ha añadido y seleccione el recuadro de selección Transacción coordinada.