WebSphere 6.xから、JMSを使用するときの設定が色々難しくなりましたね。Enterprise Services Bus(ESB)とかようわからんモノの上に構築する必要があるみたいです。とりあえずまとめておきました。
一番わかりやすいチュートリアルはRational Application Developerのヘルプですね。ヘルプをJMSで検索すると出てくるCreating a JMS serverのCreate a server and service integration bus for SOAP over JMS using WebSphere Application Server v6.x を参考にしました。
RAD内にあるServerを使用し、そこにESBのバスはJMSキューなどを構築していきます。
サービス統合 >> バスにアクセス。新規作成を押下し
バス名: WS_test_Busでバスを作成。
次にそのバス名をクリックし、
トポロジー >> バスメンバー
を開き、追加を押下。サーバやクラスタ、WebSphere MQ サーバーから選べるみたいだけど、とりあえず「サーバ」を選択。次に「メッセージ・ストアのタイプ」を選択する画面になるので、とりあえずファイル・ストアを選択。*1
ファイルストアを選択したとき、ファイルをストアする先などを指定しますが、デフォルトでは、バスメンバ名が
hoge02.server1-WS_test_Bus
のとき
${USER_INSTALL_ROOT}/filestores/com.ibm.ws.sib/ hoge02.server1-WS_test_Bus-49204B8DA13668D8/log
${USER_INSTALL_ROOT}/filestores/com.ibm.ws.sib/ hoge02.server1-WS_test_Bus-49204B8DA13668D8/store
${USER_INSTALL_ROOT}/filestores/com.ibm.ws.sib/ hoge02.server1-WS_test_Bus-49204B8DA13668D8/store
となってました*2。
次にそのバスの設定画面で
宛先リソース >> 宛先
を選択し、宛先画面の新規作成を押下。宛先タイプは「キュー」とし
ID:ws_test_queueJms
とします。バスメンバはデフォルトで終了すると宛先の作成は完了です。
リソース >> JMSプロバイダ
の画面で、スコープを「サーバ」にし Default messaging provider を選択します。
追加プロパティー >> キュー
で新規作成し、
名前:ws_test_queueJms JNDI:jms/ws_test_queue バス名:WS_test_Bus キュー名:ws_test_queueJms
とします。
リソース >> JMSプロバイダ
の画面で、スコープを「サーバ」にし Default messaging provider を選択します。
追加プロパティー >> キュー接続ファクトリー
で新規作成し、
名前:WebServicesInput_QCF JNDI:jms/ws_test_qcf バス名:WS_test_Bus
とします。
引き続き、新規作成で
名前:WebServicesReply_QCF JNDI:jms/WebServicesReplyQCF バス名:WS_test_Bus
とします。
引き続き Default messaging providerの
追加プロパティー >> アクティベーション・スペック
で新規作成し、
名前:ws_test_JMSRouter JNDI:eis/ws_test_JMSRouter 宛先タイプ:キュー 宛先 JNDI 名:jms/ws_test_queue バス名:WS_test_Bus
全て保存します。以上で設定は完了です。最後にWASを再起動しましょう。
MDBの設定はRAD7.0の
デプロイメントディスクリプタ>JCAアダプタ
で
Activation Spec JNDI名:eis/ws_test_JMSRouter <-上のJNDI名 宛先 JNDI 名:jms/ws_test_queue <-上のJNDI名
とします。ちなみにこの指定は ibm-ejb-jar-bnd.xmi に書かれるのでJ2EEの仕様で定められたモノではないみたいですね。
この記事は
現在のアクセス:17789