問題タブ [jms-topic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
380 参照

jms - JBoss ESB でサブスクライバーのデザインを公開し、配信を保証する

JBoss ESB で実行されるパブリッシュ/サブスクライブ サービスの設計に問題があります。おそらく200人のサブスクライバーが聞いているトピックにメッセージを発行できる必要があり、メッセージを受け取ったらメッセージで何かをします。パブリッシュ サービスとサブスクライバー サービスのサンプルを作成して、その方法を紹介します。

これらのサブスクライバーへの配信を保証する必要があります。一定期間オフラインになり、その間にメッセージが公開された場合、オンラインに戻ったときに、それらのメッセージを配信する必要があります。したがって、それは永続的なサブスクライバーである必要があることを意味すると思います (私の理解では、トピックは永続的ではありませんが、サブスクライバーは永続的であると定義されています)。

私は現在、ESB 対応キューに ESB メッセージを貼り付ける発行サービスを持っています。これは、NotifyTopic を呼び出し、ESB 非対応トピックにメッセージを貼り付けます。ESB-Unaware トピックのリスナーを持つサブスクライバーがあり、これは、Web サービスによって処理されるメッセージを送信する httprouter を使用して Web サービスを呼び出します。Webサービスがオフラインの場合(そのシナリオを処理する方法を理解する必要がありますが、まだそこに到達していません)、またはESBサブスクライバーサービスがオフラインの場合(アンインストールしてテストし、メッセージを公開して再インストールすることはほとんどありません - メッセージのバックログが Web サービスに送信されることはありません)。

サブスクライバーを正しく構築していないと確信しています。サブスクライバーを ESB にデプロイする必要があると考えました。それ以外の方法でどのように機能するか、別のサーバーにデプロイされてからESBに接続される方法がわかりません(相互SSL、ファイアウォール、ポートなどをいじる必要がないようにしようとしています)。サブスクライバーを ESB にインストールすることが最善の選択肢であると考えました。しかし、どうすれば耐久性があり、配送が保証されるのかわかりません。

0 投票する
2 に答える
3750 参照

filter - Camel メッセージ フィルタリング - 本文 コンテンツ フィルタリング

Camel は初めてで、本文の内容に基づいて JMS トピック メッセージをフィルタリングするオプションを探しています。シンプル、OGNL、グルーヴィーなど、さまざまなフィルタリング言語を調べましたが、コンテンツベースのフィルタリングにどのように適用できるかわかりません。フィルタリングする必要がある JMS メッセージ/コンテンツの例を次に示します -

フィルタリング基準は、"text" または body() に "iphone" が含まれている (ignorecase) である必要があります。

どんな考え/提案も大歓迎です。

ありがとう!!!

0 投票する
1 に答える
1377 参照

jms - トピック (パブリッシュとサブスクライブ) を使用して、メッセージがトピックから削除されるのはいつですか?

メッセージを受信するために多くの MQ クライアントが接続されているトピックがあるとします。

私の質問は、MQ サーバーがトピックからメッセージを削除するのはいつですか?

0 投票する
2 に答える
1265 参照

jms - 消費されたメッセージをトピックからキューに移動する

トピックから消費している複数のサブスクライバーがいるとします。メッセージがすべてのサブスクライバーに配信された後、このメッセージを入力に使用するジョブをトリガーしたいと思います。

したがって、これを行う簡単な方法は、すべてのサブスクライバーに正常に配信されたメッセージを、ジョブがメッセージを消費するキューに移動することです。JMSの一部ですか?

それを直接行うことができるメッセージブローカーはありますか?

そうでない場合、この問題を解決する簡単な解決策はありますか?

0 投票する
2 に答える
575 参照

jms - JMS トピック接続の損失を検出する方法

サーバープロセスに接続しているswing GUIクライアントがあります。

jms:queueクライアントは、Camel ルートで定義された「from」エンドポイントを使用し、基になる JMS ブローカーとして ActiveMQ を使用して、サーバー上のサービスを「呼び出し」ます。

ただし、クライアントはjms:topic、サーバーがメッセージをクライアントにブロードキャストするための Camel エンドポイントも提供します。

残念ながら、トピック接続が何らかの形で失われているようです。クライアントはサーバー上のサービスを「呼び出す」ことはできますが、サーバーはクライアントのトピック エンドポイントにメッセージを送信できません。

Camel エンドポイントのクライアント側のスプリング定義は次のとおりです。

また、サーバー側プロデューサーは次のように定義されています。

クライアント側でこのトピック接続の損失を何らかの方法で検出できる方法を知っている人はいますか?

0 投票する
1 に答える
4413 参照

activemq - JMS トピックを使用した ActiveMQ - 一部のメッセージがコンシューマーによってキューから取り出されない

JMS トピックを使用して ActiveMQ 5.9.0 をメッセージ ブローカーとして設定しようとしていますが、メッセージの消費に問題があります。

テスト目的で、1 つのトピック、1 つのイベント プロデューサー、および 1 つのコンシューマーの単純な構成があります。10 個のメッセージを次々に送信しますが、アプリケーションを実行するたびに、これらのメッセージのうち 1 ~ 3 個は消費されません! 他のメッセージは消費され、正常に処理されます。ActiveMQ 管理コンソールのトピックにパブリッシュされたすべてのメッセージを確認できますが、アプリケーションを再起動してもコンシューマーには到達しません (「エンキュー」列と「デキュー」列の数字が異なっています)。

編集:トピックの代わりにキューを使用する場合、この問題は発生しないことにも言及する必要があります。

なぜこうなった?atomikos (トランザクションマネージャー) と何か関係があるのでしょうか? それとも、構成に何か他のものがありますか?どんなアイデア/提案も大歓迎です。:)

これは ActiveMQ/JMS スプリング構成です。

プロデューサー:

消費者:

テスト: