メッセージ・フローに DB2 データベースとの対話が含まれている場合、メッセージ・フロー内の他のアクションとの間でデータベース更新を調整するには、ブローカーを構成してそれらの更新を管理します。
始める前に:
このタスクを完了するには、以下のタスクを完了している必要があります。
db2 update dbm cfg using TP_MON_NAME MQ64 ビット DB2 インスタンスを使用する場合は、このパラメーターを設定してはなりません。Linux およ び UNIX 上の DB2 の 32 ビット・インスタンスでは、この変数の設定は任意です。
export EXTSHM=ON db2set DB2ENVLIST=EXTSHM db2stop db2start
mqsistop broker export EXTSHM=ON (すべてのブローカー環境のプロファイルで) mqsistart broker
XAOpenString に指定される TOC (Thread of Control) は、リソース・マネージャー (DB2) が実行するモードを決定します。 ThreadOfControl スタンザは、トランザクション・マネージャー (WebSphere MQ) が実行するモードを指定します。 どちらの製品も確実に THREAD モードで実行させるには、 明示的な値を指定してください。
整合トランザクションで DB2 を使用したい場合には、以下のようにします。
インストールした WebSphere MQ のバージョンに応じて、 提供されている以下の情報を参照してください。
次の例は、Linux システムおよび UNIX システム上の qm.ini ファイル内の XAResourceManager スタンザに何を組み込まなければならないか、および Windows の場合のこれに相当する情報を示しています。
Linux および UNIX (AIX、HP-UX、および Solaris) 上では、次のようにします。
XAResourceManager: Name=DB2 SwitchFile=install_dir/sample/xatm/db2swit XAOpenString=db=MyDataSource,uid=MyUserId,pwd=MyPassword,toc=t XACloseString= ThreadOfControl=THREAD
SwitchFile: C:¥Program Files¥IBM¥MQSI¥6.0¥sample¥xatm¥db2swit.dll XAOpenString: db=MyDataSource,uid=MyUserId,pwd=MyPassword,toc=t ThreadOfControl: THREAD
次の例は、Linux システムおよび UNIX システム上の qm.ini ファイル内の XAResourceManager スタンザに何を組み込まなければならないか、および Windows の場合のこれに相当する情報を示しています。
Linux および UNIX (AIX、HP-UX、および Solaris) 上では、次のようにします。
ln –s install_dir/sample/xatm/db2swit /var/mqm/exits/db2swit ln –s install_dir/sample/xatm/db2swit64 /var/mqm/exits64/db2swit
XAResourceManager: Name=DB2 SwitchFile=db2swit XAOpenString=db=MyDataSource,uid=MyUserId,pwd=MyPassword,toc=t XACloseString= ThreadOfControl=THREAD
Windows 上では、ご使用の WebSphere MQ キュー・マネージャーのプロパティー・ダイアログ・ボックスの「リソース」ページに、次の値を設定します。この例では、WebSphere Message Broker をディレクトリー C:¥WMQI にインストールしたと想定しています。
SwitchFile: C:¥wmqi¥sample¥xatm¥db2swit XAOpenString: db=MyDatabase,uid=MyUserId,pwd=MyPassword,toc=t ThreadOfControl: THREAD
整合トランザクションで DB2 を使用したい場合には、以下のようにします。
次の例は、UNIX システム上の qm.ini ファイル内の XAResourceManager スタンザに何を組み込まなければならないかを示しています。
ln –s install_dir/sample/xatm/db2swit64 /var/mqm/exits64/db2swit
XAResourceManager: Name=DB2 SwitchFile=db2swit XAOpenString=db=MyDataSource,uid=MyUserId,pwd=MyPassword,toc=t XACloseString= ThreadOfControl=THREAD