Se desejar que o banco de dados que você acessa pela conexão
JDBC tipo 4 participe de transações globalmente coordenadas, configure o ambiente adequado.
As atualizações feitas em um banco de dados em uma conexão JDBC tipo 4
podem ser coordenadas com outras ações tomadas dentro do
fluxo de mensagens, caso você configure os recursos para suportar coordenação.
Execute as etapas a seguir:
- Verifique se a definição do serviço JDBCProvider é apropriada para transações coordenadas.
Por
exemplo, para configurar as classes JDBC necessárias:
- Para DB2, configure type4DatasourceClassName como com.ibm.db2.jcc.DB2XADataSource e type4DriverClassName como com.ibm.db2.jcc.DB2Driver
- Para Oracle, configure type4DatasourceClassName como oracle.jdbc.xa.client.OracleXADataSource e type4DriverClassName como oracle.jdbc.OracleDriver
Consulte seu administrador de banco de dados ou a documentação fornecida
por seu fornecedor de banco de dados, para confirmar se todas as propriedades do serviço JDBCProvider
estão configuradas de maneira apropriada. Por exemplo, o fornecedor de banco de dados pode requerer acesso se estiver participando de transações coordenadas.
- Defina o arquivo do comutador e as propriedades do banco de dados:

Em sistemas Linux e UNIX, abra o arquivo qm.ini para o
gernciador de filas do broker com um editor de texto. Inclua a seguinte sub-rotina para cada banco de dados: XAResourceManager:
Name=Database_Name
SwitchFile=JDBCSwitch
XAOpenString=JDBC_DataSource
ThreadOfControl=THREAD
Database_Name é o nome do banco de dados (DSN) definido para o serviço configurável JDBCProvider (por exemplo,
especificado por -n databaseName -v Database_Name no comando
mqsichangeproperties).
JDBCSwitch é
um nome genérico fixo que representa o arquivo do comutador para coordenação de XA.
Utilize este vaor ou outro valor fixo único em cada sub-rotina; o
arquivo do comutador específico utilizado pelo gerenciador de filas é definido pelos links
simbólicos criados na próxima etapa.
JDBC_DataSource é o identificador do serviço configurável JDBCProvider (o valor especificado para o parâmetro -o no comando mqsichangeproperties).
Defina
uma sub-rotina para cada banco de dados (DSN) que você se conecta a partir desse broker.
É necessário criar definições separadas mesmo se os DSNs resolverem para o
mesmo banco de dados físico. Portanto, você deve ter uma sub-rotina para cada serviço configurável
JDBCProvider definido, pois cada serviço pode definir propriedades para um único banco de dados.
Nos sistemas Windows no x86, abra o Explorer do WebSphere MQ e selecione o gerenciador de filas para o seu broker, por exemplo, BROKERQM. Abra a página Gerenciador de Recursos XA e modifique os atributos para criar a definição do banco de dados.
Os atributos
são os mesmos dos mostrados para o Linux e para o UNIX; Name, SwitchFile, XAOpenString
e ThreadofControl. Deixe o atributo adicional, XACloseString, em branco.
Insira o nome qualificado completo do arquivo em SwitchFile; install_dir\bin\JDBCSwitch.dll.
Nos sistemas Windows no x86-64, abra o Explorer do WebSphere MQ e selecione o gerenciador de filas para seu broker, por exemplo, BROKERQM. Abra a página Gerenciador de Recursos XA e modifique os atributos para criar a definição do banco de dados. Os atributos
são os mesmos dos mostrados para o Linux e para o UNIX; Name, SwitchFile, XAOpenString
e ThreadofControl. Deixe o atributo adicional, XACloseString, em branco.
Digite JDBCSwitch em SwitchFile.
- Configure o acesso do gerenciador de filas para o arquivo do comutador:

No Linux e no Sistemas UNIX, crie um link simbólico para os arquivos do comutador fornecidos em seu diretório install_dir/lib. install_dir é o diretório no qual você instalou o
componente
Broker. O local padrão para esse diretório é /opt/ibm/mqsi/v.r.m.f no Linux ou no /opt/IBM/mqsi/v.r.m.f no Sistemas UNIX. O diretório padrão inclui a versão, a liberação, a modificação e a correção do produto, no formato v.r.m.f
(versão.liberação.modificação.correção).
Configure os links
no diretório /var/mqm/exits, no diretório /var/mqm/exits64
ou em ambos. Os nomes dos arquivos para cada plataforma são mostrados na seguinte
tabela.
Plataforma |
Arquivo de 32 bits |
Arquivo de 64 bits |
AIX
|
|
libJDBCSwitch.so |
HP-Itanium
|
|
libJDBCSwitch.so |
Linux em POWER
|
|
libJDBCSwitch.so |
Linux em System
z
|
|
libJDBCSwitch.so |
Linux em x86
|
libJDBCSwitch.so |
|
Linux em
x86-64
|
|
libJDBCSwitch.so |
Solaris em SPARC
|
|
libJDBCSwitch.so |
Solaris
em x86-64
|
|
libJDBCSwitch.so |
Especifique o mesmo nome do arquivo do comutador, JDBCSwitch ou
seu próprio valor nos diretórios /exits e /exits64.
Por
exemplo, no AIX:
ln -s install_dir/lib/libJDBCSwitch.so /var/mqm/exits/JDBCSwitch
e
ln -s install_dir/lib/libJDBCSwitch.so /var/mqm/exits64/JDBCSwitch
No Windows, para a versão de 32 bits do
WebSphere Message Broker, copie o arquivo JDBCSwitch.dll do
diretório install_dir\bin para o subdiretório
\exits no diretório de instalação do WebSphere MQ.
No Windows, para a versão de 64 bits do
WebSphere Message Broker, copie o arquivo JDBCSwitch32.dll do
diretório install_dir\bin para o subdiretório
\exits no diretório de instalação WebSphere MQ e renomeie o arquivo
para JDBCSwitch.dll. Em seguida, copie o arquivo
JDBCSwitch.dll do diretório install_dir\bin para o
subdiretório \exits64 no diretório de instalação WebSphere MQ.
- Configure o fluxo de mensagens que inclui um ou mais nós que acessam os bancos de dados que devem participar de
uma transação globalmente coordenada.
- Abra uma sessão do WebSphere Message Broker Toolkit.
- Alterne para o Perspectiva do Desenvolvimento de Aplicativos do Intermediário.
- Adicione o fluxo de mensagens que inclui o nó ou nós que
conectam ao banco de dados que deve participar de uma transação globalmente
coordenada para um arquivo BAR novo ou existente.
- Construa o arquivo BAR.
- Clique na guia Configurar, selecione
o fluxo de mensagens que você incluiu e selecione a caixa de opção Transação
Coordenada.