問題タブ [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 投票する
2 に答える
2881 参照

java - jmsキュープロデューサーがメッセージを送信し、コンシューマーがメッセージを取得している間、メッセージは表示されません

こんにちは私はプロデューサーとコンシューマーを持つJavaコードを持っています。プロデューサーはメッセージをキューに送信し、コンシューマーもメッセージを受け取りますが、メッセージが表示されない理由がわかりません。activeMQを使用していますが、メッセージが表示されなかったため、http:/localhost:8161/admin/queues.jspにチェックインすると、キューにプロデューサーとコンシューマーの両方があることが示されていますが、メッセージはコマンドプロンプト。教えてください

producer.java

Consumer.java

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

jms - JMS-Topic通信の正しい使い方

JavaEE 6 プロジェクトで JMS (トピック) を使用したいと考えています。トピックのパブリッシャーとサブスクライバーとして同時に機能するクラスが 1 つあります。次のコードは、クラスの最も重要な部分を示しています。

私の質問は、これがそのようなクラスを設計する良い方法であるかどうかです。私のアイデアは、サブスクライブとパブリッシュの両方で 1 つの接続とセッションを共有することでした。しかし、オブジェクトが不要になるまで接続、セッション、サブスクライバー、およびパブリッシャーを閉じないため、これがオーバーヘッドまたはブロッキングにつながる可能性があるのではないかと心配しています。私がオンラインで見つけたすべての例は、メッセージが送受信された後にすべてを直接閉じます...

前もって感謝します!

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

jms - JBoss7-ファイルMETA-INF/hornetq-jms.xmlを解析できませんでした

WebアプリをデプロイするときにJMSトピックを構成する必要があります。これにはデプロイメント記述子を使用する必要がありました。hornetq-jms.xml

しかし、展開中に次のようなエラーが発生しました。

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

java - JMSサブスクライバーは、しばらくするとトピックからのメッセージの取得を停止します

JMSトピックにサブスクライブしているプロセスが、トピックにメッセージが投稿されていない時間が経過すると、そのトピックにメッセージが投稿されなくなることに気付きました(今回は正確に定量化できませんが、1分としましょう)。トピックを管理するためにJBossApplicationServerv4.2を使用しています。

それがなぜであり、トピックに何も投稿されていない日が過ぎてもサブスクライバーがメッセージを受信できるようにする方法はありますか?

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

jms - ActiveMQ - 「ランダムな」遅いサブスクライバー - トピックがいっぱいになる原因

デフォルトのプリフェッチで複数のサブスクライブ クライアントが実行されているトピックがあります。クライアントの 1 つが遅いと、サブスクライブしている他のクライアントの速度が低下します。遅いコンシューマーのプリフェッチ制限を動的に下げたいのですが、クライアントがランダムに遅くなるため、動的に行う必要があります。

次のソリューションのプロトタイプを作成したいと思います: サブスクライバごとにキューを作成します。スレッドのプールは、トピックからイベントを削除し、イベントをキューにコピーします。サブスクライバーごとにキューがあるため、各クライアントは互いに独立しています。各キューにプリフェッチ制限を設定します。その制限に達したら、イベントを削除します。欠点: 現在、キューごとにメモリが必要です。

上記の解決策または私の場合に適していると思われる他の解決策について、いくつかの見解をお願いします。

ユースケースの詳細を以下に追加しました:
リスナー 1 の処理速度: 142 rps - リスナー 2 の処理速度: 10 rps

イベント生成速度 - 100 rps

デフォルトのプリフェッチ制限: 32000

ケース 1: プリフェッチ制限が両方のリスナーで等しい場合。~ 761 秒以内 - トピックがイベントのドロップを開始する前にいっぱいになります。

ケース 2: 低速コンシューマーのプリフェッチ制限が高速コンシューマー リスナーのプリフェッチ制限よりも小さい場合 2 プリフェッチ制限: 64K 上記のソリューションはうまく機能します

リスナー 2 の処理速度が向上し、リスナー 1 の処理速度が低下することはありません (処理速度が正確に逆になるわけではありませんが、極端な値を使用していることに注意してください)。また、case2 が機能しない場合もあります。リスナー 1: 10 rps リスナー 2: 142 rps イベントのドロップを開始する前に、トピックがいっぱいになるまでに 1523 秒かかります。イベントのドロップが開始されると、リスナー 1 もリスナー 2 と同じ速度で処理を開始します。

各リスナーを独立して実行し、他のリスナーをブロックしないようにするための提案を探していますか?

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

weblogic - WebSphere MQ 6.0: 非耐久性から耐久性に切り替えることができません

非永続トピック サブスクライバーから永続トピック サブスクライバーに切り替えると、以前は (JNDI を使用して) 読み取ることができたトピック名を検索できません。

トピックが検索されているため、管理コンソールにエラーが表示されます。

Oracle WebLogic Server 管理コンソールを使用して、WebSphere キューを設定しています。コンソールで、次の変更を行いました。

  • 永続ストアの場合、[構成] タブに、次の名前のファイル ストアが追加されました。ItftFileStore
  • 永続ストアの場合、[構成] タブで、ディレクトリを追加しました。
  • JMS サーバーの場合、[構成] -> [一般] タブで、永続ストアを次のように変更しました。ItftFileStore
  • JMS サーバーの場合、[構成] -> [一般] タブ -> [詳細設定] で、Store Enabledフィールドをオンにしました。
  • ItftTopic については、[構成] -> [オーバーライド] タブを に変更Delivery Mode OverrideしましたPersistent

これは私が実行しているコードです。関連する行にいくつかのコメントがあります。

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

jms - サービス統合バスの宛先トピック スペースにメッセージを送信する方法

サービス統合バスは初めてです。バスを構成し、websphere ポータル サーバーをバス メンバーとして追加しました。次に、トピック接続ファクトリーを作成し、ここで作成したバスを選択しました。サービス統合バスのデフォルト トピック スペースにメッセージを送信します。JMS を使用してデフォルトのトピック スペースにメッセージを送信する方法がわかりません

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

jms - HornetQ JMS トピック間ブリッジ

2 つのトピック間の橋渡しを設定しようとしています。アイデアは次のとおりです。

  • HornetQ サーバー A のトピックに通知が投稿される
  • この通知は、HornetQ サーバー B のトピックに送信されます (ブリッジ経由?)
  • クライアント アプリは、サーバー B から通知を受け取ります。

これを行う必要があるのは、サーバー B がダウンしている場合でも、トピックをアップして、最終的にサブスクライブ サーバーに配信する必要があるためです。

必要なのは、これを示す hornetq-configuration.xml と hornetq-jms.xml の例です。それとも、私はそれを間違った方法で見ていますか?これを行うためのより良い方法はありますか?

HornetQ 2.2.14.Final を使用しています。

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

wso2 - esb のプロキシからメッセージ ブローカのトピックにメッセージをパブリッシュ中にエラーが発生する

esb からメッセージ ブローカーのトピックにメッセージを発行しようとすると、常にこのエラーが発生します。

私のプロキシコードは

jndi 構成と軸 2 構成は適切に構成されています。MB はポート 9444 で実行され、Publisher_esb は 9443 で実行され、サブスクライバー esb はポート 9446 で実行されています。メッセージがサブスクライバに反映されます。

サブスクライバーからメッセージを取得するコードは

サブスクライバーを初めて実行したときに結果が得られましたが、その後は次のように例外が発生しています。

サブスクライバーをアクティブにせずにトピックにメッセージを投稿できませんか? メッセージを永続化または永続化するにはどうすればよいですか? もう 1 つ質問があります。作成したトピックに関連付けられた queueName を取得するにはどうすればよいですか、またはトピック myTopic 専用のキューを作成できますか? 回答をお待ちしております。前もって感謝します