私はWebSphere7でBaby'sFirstMDBを書いている、または書き込もうとしています。動作させるためにすべてを引き出したので、髪の毛がほとんど残っていません。すべてが正しく設定されているように見えますが、関連するキューにメッセージを入れても応答がありません。
EARファイルの設定は次のとおりです。
simplemdb.ear
META-INF
Manifest.mf
application.xml
simplemdb.jar
META-INF
Manifest.mf
ejb-jar.xml
com
[ classes go here ]
ejb-jar.xmlでキューのJNDI名を定義するための構文が見つからないため、代わりに次のようにします。
- WebSphereアクティベーション仕様を定義します。名前SimpleMDBActivationSpec、JNDI名jms / SimpleActivationSpec、宛先jms/SimpleMDBQueue。
- WebSphereキューを定義します。名前SimpleMDBQueue、JNDI名jms / SimpleMDBQueue、キュー名SIMPLE.MDB.QUEUE。
- MQキューを定義し、SIMPLE.MDB.QUEUEという名前を付けます。
- EARファイルをデプロイします。展開中に、バインディング情報を入力するように求められます。[アクティベーション仕様]を選択し、ターゲットリソースのJNDI名と宛先JNDI名をそれぞれアクティベーション仕様とキューにポイントします。
(MDBコードには注釈がありません。)この時点で、アプリはスペックとキューを指し、スペックはキュー(ベルトとサスペンダー)を指します。当然、アプリはキューを認識していると思います。希望に満ちて、私はメッセージをキューに入れました、そして...何も。onMessageイベントは、System.outを使用してメッセージをログに記録することになっています。メッセージが表示されません。
これに関する明確な文書は、その欠如によって目立ちます。グーグルはたくさんの結果を出します、しかしそれらのどれも構成がすべて一緒にどのように合うかを詳述しません。ibm-ejb-jar-bnd.xmiについては多くの手がかりがありますが、ファイルの例は難解で、生成方法や構成の他の部分との関係についての説明がない不透明な数字でいっぱいです。
善のために。私がやりたいのは、MDBをデプロイし、メッセージをキューに入れるときに「Hello、world」と書き込むことだけです。開発およびビルドツールとしてviとantを使用しています。誰かが私が欠けているものについて私にアイデアを与えることができますか?
編集:「zos」タグが追加されました。