ちょこっとエンタープライズな勉強をしたので、忘れないうちにメモ。
・JMS
WebSphere Studio上でテスト。
サーバ構成のJMSタブで「キューの作成」を行う。他にも設定は
JMSプロバイダー: Java開発用MQシュミレータ
Factoryの JNDI登録
宛先(Queue)のJNDI登録 <-このキュー名は、キューの作成で入力したキュー名にすること!
プットのコーディングは ファクトリとQueueのJNDIでJMSサーバに接続し、データをプット
ゲットのコーディングは ファクトリとQueueのJNDIでJMSサーバに接続し、データをゲット
ゲットのコーディングで、Queueのポーリングとかを行いたくない場合はリスナーかMessage Driven Beanを使う。
ただリスナーはWebコンテナ上では使えないみたいなので、素直にEJBプロジェクトを作ってMDBした方がよさそう。
MDBでListenするポートはデプロイ時に指定する仕様のようだ。指定するのはWebSphereではサーバ上に設定した値(ファクトリとQueueのJNDIを組にしたモノ)。
あとJNDIでLookupする際は、リソース参照をweb.xmlにセットするのを忘れずに。
MDB自体はejb-jar.xmlで定義する。たとえば
<enterprise-beans>
<message-driven id="QueueListenerMDBBean">
<ejb-name>QueueListenerMDBBean</ejb-name>
<ejb-class>ejbs.QueueListenerMDBBean</ejb-class>
<transaction-type>Container</transaction-type>
<message-driven-destination>
<destination-type>javax.jms.Queue</destination-type>
</message-driven-destination>
</message-driven>
</enterprise-beans>
</ejb-jar>
な感じ。
コメントする