ここでは、JMS トランスポートを使用するようハブをセットアップする方法について説明します。JMS トランスポートを使用してハブで文書を送受信する場合は、ここで説明する手順に従ってください。JMS トランスポートを使用しない場合は、この部分を省略してください。
JMS ターゲットまたはゲートウェイ (あるいは両方) を設定する方法については、本書の後のセクションで取り上げます。これらの作業については、JMS ターゲットの設定、および JMS ゲートウェイの設定で説明します。
まず JMS 用のディレクトリーを作成します。例えば、Windows のインストール環境で、c:¥temp ディレクトリー内に JMS という名前のディレクトリーを作成したいとします。これを行うには、以下のステップを実行します。
ここでは、WebSphere MQ のインストールに含まれる JMSAdmin.config ファイルを更新して、コンテキスト・ファクトリーおよびプロバイダー URL を変更します。
INITIAL_CONTEXT_FACTORY=com.sun.jndi.ldap.LdapCtxFactory PROVIDER_URL=ldap://polaris/o=ibm,c=us
#INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory #PROVIDER_URL=file:/C:/JNDI-Directory
PROVIDER_URL=file:/c:/temp/JMS
ここでは、WebSphere MQ を使用して、文書の送受信に使われるキューおよびこの通信のチャネルを作成します。 キュー・マネージャーが作成されていることが前提となっています。キュー・マネージャーの名前は、以下のステップの <queue_manager_name> に入ります。また、このキュー・マネージャーのリスナーが TCP ポート 1414 で開始されていることも前提となっています。
strmqcsv <queue_manager_name>
runmqsc <queue_manager_name>
def ql(<queue_name>)
例えば、JMSIN という名前のキューを作成するには、以下のように入力します。
def ql(JMSIN)
def ql(<queue_name>)
例えば、JMSOUT という名前のキューを作成するには、以下のように入力します。
def ql(JMSOUT)
def channel(<channel_name>) CHLTYPE(SVRCONN)
例えば、java.channel という名前のチャネルを作成するには、以下のように入力します。
def channel(java.channel) CHLTYPE(SVRCONN)
end
現行のシステム・パスに Java ランタイムを追加するには、以下のコマンドを入力します。
set PATH=%PATH%;<ProductDir>¥_jvm¥jre¥bin
ここで、ProductDir は、WebSphere Partner Gateway がインストールされているディレクトリーを表します。
JMS 構成を定義するには、以下のステップを実行します。
JMSAdmin
define ctx(<context_name>)
change ctx(<context_name>)
例えば、context_name が JMS である場合、コマンドは次のようになります。
define ctx(JMS)
change ctx(JMS)
define qcf(connection_factory_name) tran(CLIENT) host(<your_IP_address>) port(1414) chan(java.channel) qmgr(<queue_manager_name>)
define q(<name>) queue(<queue_name>) qmgr(<queue_manager_name>)
define q(<name>) queue(<queue_name>) qmgr(<queue_manager_name>)
end
前のステップでは .bindings ファイルを作成しました。これは、ステップ 5 で指定したフォルダーのサブフォルダーにあります。サブフォルダーの名前は、JMS コンテキストに対して指定した名前です。
例えば、以下の JMSAdmin セッションを使用して、MQ キュー・マネージャーがある sample.ibm.com の IP アドレスを指定して、Hub としてキュー接続ファクトリーを定義します (<queue_manager_name>は sample.queue.manager)。 この例では、キューおよびチャネルの作成で作成した JMS キュー名およびチャネル名が使用されています。ユーザー入力は、> プロンプトの後に行います。
InitCtx> define ctx(jms) InitCtx> change ctx(jms) InitCtx/jms> define qcf(Hub) tran(CLIENT) host(sample.ibm.com) port(1414) chan(java.channel) qmgr(sample.queue.manager) InitCtx/jms> define q(inQ) queue(JMSIN) qmgr(sample.queue.manager) InitCtx/jms> define q(outQ) queue(JMSOUT) qmgr(sample.queue.manager) InitCtx/jms>end
この例では、.bindings ファイルはディレクトリー c:/temp/JMS/JMS にあります。ここで、c:/temp/JMS は PROVIDER_URL、JMS はコンテキスト名です。