WebSphere MQ には、検索できるメッセージがある場合に アプリケーションを自動的に開始できる、トリガーと呼ばれる機能があります。WebSphere InterChange Server 製品は、MQ により起動される Object Activation Daemon (OAD) を使用して、以下のタスクを処理します。
この MQ により起動される OAD は、WebSphere MQ のトリガー機能を使用してコネクター・エージェント を再始動します。
この OAD をセットアップするには、以下のステップを実行する必要があります。
MQ により起動される OAD を使用するためには、MQ Trigger Monitor をインストールする必要があります。このモニターは、IBM WebSphere MQ のインストールに説明されているように、WebSphere MQ ソフトウェア の一部としてインストールされます。 このソフトウェアは、コネクター・エージェントが存在するマシン上に存在しなければなりません。
図 20 は、各コネクター・エージェントが リモート始動または自動再始動、あるいはその両方に参加していることを示します。参加するコネクター・エージェントが存在する各マシンには、WebSphere MQ ソフトウェアが存在しなければなりません。そのマシン上のコネクター・エージェントの数にかかわらず、1 台のマシンに必要な MQ Trigger Monitor は 1 つのみです。ローカル・マシンに WebSphere MQ サーバーがインストールされている場合、runmqtrm コマンドによって MQ Trigger Monitor デーモンが起動されます。ローカル・マシンに WebSphere MQ クライアントがインストールされている場合、runmqtmc コマンドによって MQ Trigger Monitor デーモンが起動されます。
図 20 の構成では、以下のソフトウェア がインストールされている必要があります。
UNIX では、runmqtrm を使用して MQ Trigger Monitor デーモンを呼び出す場合に問題があります。mqm ユーザーは Trigger Monitor の所有者ですが、例えば cwadmin ユーザーによって開始されたコマンドを実行するための正しいパスとアクセス権を持っていない場合があります。この問題を回避するには、runmqtrm コマンドのコピーを作成して、そのコピーと mqm ユーザーおよびグループとの関連付けをなくし、MQ Trigger Monitor デーモンを開始する場合にのみ使用します。必要なコマンドは次のとおりです。
cp /opt/mqm/bin/runmqtrm /opt/mqm/bin/runmqtrm2
runmqtrm を、runmqtrm2 および
chmod ug-s /opt/mqm/bin/runmqtrm2
にコピーするには、runmqtrm2 コマンドからユーザーとグループの設定を除去します。
その後 runmqtrm2 コマンドは、MQ Trigger Monitor デーモンを呼び出すために使用し、runmqtrm2 コマンドを発行するユーザーによって所有されます。このとき、コマンドを発行したユーザーが、キュー・マネージャー、(トリガー・メッセージを入れる) 開始キュー、および送達不能キューにアクセスするために必要なすべてのアクセス権を持っていない場合があり、こうして 2 次的な問題が発生します。「setmqaut」コマンドを使用して、選択したグループに MQ オブジェクトにアクセスする権限を与えますが、個々のユーザーに権限を与えることはできないことに注意してください。
例えば、「appdev」 グループのメンバー・ユーザーは、「runmqtrm2」を実行する必要があります。キュー・マネージャーの名前は 「CALVIN」で、開始キューは「CALVIN.INITQ」と呼ばれ、送達不能キューは「SYSTEM.DEAD.LETTER.QUEUE」です。以下のコマンドを実行して、『appdev』 グループに Trigger Monitor を実行する権限を与えます。
setmqaut -m CALVIN -t qmgr -g appdev +connect +inq
setmqaut -m CALVIN -t queue -n CALVIN.INITQ -g appdev +get
setmqaut -m CALVIN -t queue -n SYSTEM.DEAD.LETTER.QUEUE -g appdev +put +inq +passall
グループのすべてのメンバーがキュー・マネージャーへのアクセス権を持つことに注意してください。
WebSphere MQ のインストール方法について詳しくは、IBM WebSphere MQ のインストールを参照してください。
MQ により起動される OAD をサポートするには、トリガーを処理できるように
WebSphere MQ キュー・マネージャーを構成する必要があります。このサポートでは、表 30 の WebSphere MQ 関連オブジェクト を、InterChange Server
および WebSphere MQ
キュー・マネージャーを含むマシン上に作成する必要があります。
表 30. WebSphere MQ により起動される OAD 用の WebSphere MQ 関連オブジェクト
サービス | データベース・アクセスの目的 |
---|---|
開始キュー | MQ キュー・マネージャーから MQ Trigger Monitor 用のトリガー・メッセージを受信します。 |
プロセス定義 | MQ Trigger Monitor が開始キューからトリガー・メッセージを取得したときに起動するプロセスを記述します。 |
アダプター・アクティブ化キュー | アダプター用のトリガー・イベントを InterChange Server から受信します。 これらのメッセージは、キューに関連したコネクターのコネクター・フレームワーク によって集められます。 |
これらの MQ 関連オブジェクトを作成するには、 ProductDir/bin サブディレクトリー にある mqtriggersetup スクリプトを実行します。自動再始動およびリモート再始動機能 を使用可能にしたいコネクターを含むマシン上で、このスクリプトを実行します。
mqtriggersetup WICS_queueManagerName connName connStartupScript
ここで、
例えば、MyConn というコネクターの自動再始動またはリモート再始動をセットアップするには、以下のようにして mqtriggersetup を呼び出すことができます。
mqtriggersetup InterChangeServer.queue.manager MyConn /IBM/WebSphereBI/connectors/MyConn/connector_manager_MyConn.sh
mqtriggersetup スクリプトは、MQ キュー・マネージャーを含むマシン上で実行する必要があります。同じマシン上に存在するそれぞれのコネクターごとに、mqtriggersetup スクリプトを実行します。リモート・マシン上に存在するそれぞれのコネクターごとに、このスクリプトを実行する必要があります。
MQ により起動される OAD を始動するには、 該当する始動スクリプトを使用して、MQ Trigger Monitor を明示的に始動する必要があります。コネクターが存在するそれぞれのマシンごとに MQ Trigger Monitor を始動する必要があります。
WebSphere MQ をインストールすると、インストール・プログラムは runmqtrm ファイルまたは runmqtmc ファイルをインストールします。 これらのスクリプトはそれぞれ、MQ サーバー・リリースまたは MQ クライアント・リリースの一部として MQ Trigger Monitor を始動します。例えば、次のコマンドは (MQ サーバー・リリースで) MQ Trigger Monitor を始動します。
runmqtrm -m WICS_queueManager -q INITIATION.QUEUE
ここで WICS_queueManager は、ご使用の InterChange Server の MQ キュー・マネージャーの名前です。
自動再始動およびリモート再始動を使用するように個々のコネクターを構成するには、以下のステップを実行する必要があります。