2017-12-21 12 views
0

私の問題は、誤った設定のために概念的なものか技術的なものかはわかりません。Java EEアプリケーションからJava SEアプリケーションにJMSメッセージを送信する

目的は、アプリケーションコンテナ(ここではWildFly)でホストされているJava EEアプリケーションと、スタンダードJMSプロトコルとトピックを使用してスタンドアロンで実行されているJava SEアプリケーションの間で双方向のメッセージを送信することです。私は同じブローカーと同じ話題を使用している限り、これは可能です。

私は外部のArtemisインスタンスをメッセージブローカーとして実行し、Java EEアプリケーション上の別のBeanにプロデューサとコンシューマを正常にセットアップしました。彼らは両方とも "topic1"という名前の同じトピックを使用しています。このプロデューサによって送信されたメッセージは、コンシューマBeanによって正常に受信されます。

をスタンドアロンアプリケーションとしての外部に実行するJava EEアプリケーションで、もう1組のコンシューマとプロデューサをセットアップしました。彼らは同じブローカーに接続しており、同じトピック "topic1"を使用しています。このプロデューサによって送信されたメッセージも、このコンシューマによって受信されます。

いずれかのプロデューサがメッセージを公開すると、どちらの消費者もメッセージを受信することが予想されました。しかし、これらの2つのアプリの間には何もありません。アプリのコンテナ内のアプリケーションは、スタンドアロンのものからメッセージを受信して​​いません。私はここで概念的な間違いをしていますか、あるいはconfigsに何か問題がありますか?

答えて

0

OK、問題が見つかりました。構成が誤っていました。私は明らかに間違いだったJava SE側のトピックのJNDIアドレスを使用していましたが、代わりにトピック名を使用する必要がありました!

関連する問題