クラスローディングの問題により、Glassfish 3.1.1 の同じインスタンスの別のドメインに ear と war をデプロイする必要があります。war はメッセージをキューに送信し、ear 内の MDB はそれを受信して処理する必要があります。
JMS は次のようにドメインに設定されます。
domain1 default_JMS_host (server-config | Java Message Service | JMS ホスト):
Type = local
Host = localhost
Port = 7676
domain2 default_JMS_host (server-config | Java Message Service | JMS ホスト):
Type = remote
Host = localhost
Port = 7676
もともと、ドメイン 2 のポートを 5076 に設定していましたが、ドメインの起動時に接続拒否の例外が発生しました。
このセットアップでは、すべて正常に読み込まれるように見えます (domain2 server.log にエラーはありません) が、war ファイルによってキューに入れられたメッセージは取得されません。次のコマンドを使用して、戦争によってメッセージがキューに入れられていることを確認しました。
/<glassfish>/mq/bin/imqcmd list dst -b localhost:7676 -u admin
同じ Glassfish インスタンスで複数のドメインを使用して JMS をセットアップする方法を検索してみましたが、役に立つものは見つかりませんでした。誰かがこれを設定する方法についての良いリソースを教えてもらえますか?