Top / WebSphere / JMS / WAS6.xでJMS環境を構築する

WAS6.1でJMSを使用する

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キューなどを構築していきます。

バスの作成、JMSキュー他の作成

バスの作成

  • RAD内のサーバを起動します。
  • 管理コンソールにアクセスし、
    サービス統合 >> バス
    にアクセス。新規作成を押下し
    バス名: 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のプロバイダにキューを作成

リソース >> JMSプロバイダ

の画面で、スコープを「サーバ」にし Default messaging provider を選択します。

追加プロパティー >> キュー

で新規作成し、

名前:ws_test_queueJms
JNDI:jms/ws_test_queue
バス名:WS_test_Bus
キュー名:ws_test_queueJms

とします。

JMSのプロバイダにinput queue用のJMS queue connection factoryを作成

リソース >> JMSプロバイダ

の画面で、スコープを「サーバ」にし Default messaging provider を選択します。

追加プロパティー >>  キュー接続ファクトリー

で新規作成し、

名前:WebServicesInput_QCF
JNDI:jms/ws_test_qcf
バス名:WS_test_Bus

とします。

JMSのプロバイダにreply queue:用のJMS queue connection factoryを作成

引き続き、新規作成で

名前:WebServicesReply_QCF
JNDI:jms/WebServicesReplyQCF
バス名:WS_test_Bus

とします。

MDBがListenするためのアクティベーション・スペックを作成

引き続き Default messaging providerの

追加プロパティー >>  アクティベーション・スペック

で新規作成し、

名前:ws_test_JMSRouter
JNDI:eis/ws_test_JMSRouter
宛先タイプ:キュー
宛先 JNDI 名:jms/ws_test_queue
バス名:WS_test_Bus

全て保存します。以上で設定は完了です。最後にWASを再起動しましょう。

MDBの設定

MDBの設定はRAD7.0の

デプロイメントディスクリプタ>JCAアダプタ

Activation Spec JNDI名:eis/ws_test_JMSRouter <-上のJNDI名 
宛先 JNDI 名:jms/ws_test_queue <-上のJNDI名 

とします。ちなみにこの指定は ibm-ejb-jar-bnd.xmi に書かれるのでJ2EEの仕様で定められたモノではないみたいですね。

関連リンク


この記事は

選択肢 投票
おもしろかった 11  
そうでもない 0  
  • WAS5.x用に作成していたMDB(EJB2.0版)ではListenerPort?を指定してMDBを登録していたのだけど、その方法は6.x(EJB2.1)からはサポートされていないようで、Activation Specという方式を使わなくてはいけないようです。 -- きの? 2007-02-15 (木) 00:01:01
  • WAS6.1のJMSにはEJB2.0のMDBはデプロイできない! -- きの? 2007-02-15 (木) 00:01:14
  • ストア先をファイルにした場合、バスがクラスタ単位にあって、ラウンドロビンしちゃったらどうなるんだろう。複数プロセスから書き込みにいっちゃうよね。大体、クラスタが別ノードにまたがる場合は??? -- きの? 2007-02-21 (水) 09:35:36
  • ファイル・ストアの高可用性についての考慮事項を見る限り、ファイルにストアした場合はNFSなどしてストア先のファイルを共有する必要があるみたい。セッション情報のレプリケーションみたいなのはやってくれないんですね。 -- きの? 2007-02-21 (水) 10:12:47

Top / WebSphere / JMS / WAS6.xでJMS環境を構築する

現在のアクセス:17770


*1 データ・ストアもある。この場合ストアするデータベースのJNDIなどを指定する
*2 ちなみに49204B8DA13668D8はメッセージングエンジンのUUIDとかなってましたね。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-05-28 (金) 13:25:21 (5076d)