問題タブ [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.
java - Glassfish のサブスクライバーの認証を使用した JMS トピック
Glassfish サーバーに JMS トピックを構成し、クライアントを実装してトピックをサブスクライブし、受信したメッセージを出力しました。これはうまくいっています。
これが私のクライアントです。JNDI ルックアップを使用する代わりに、一種の「直接接続」を使用することを選択したことがわかります。
このようにして、どのクライアントも私のトピックをサブスクライブできます。私が今欲しいのは、クライアントがメッセージの受信を開始する前に認証を強制する方法を見つけることです。Glassfishでそれは可能ですか?
これまでのところ、Glassfish 管理ページで「デフォルトの JMS ホスト」資格情報を変更し、接続の作成時に設定した新しい資格情報を渡そうとしました。
しかし、これはうまくいきませんでした。デフォルトの資格情報を渡すと機能します。
資格情報を別の場所で変更する必要があると思いますが、どこかわかりません。そして、それが機能したとしても、クライアントに認証を強制しますか? つまり、クライアントが資格情報なしでトピックをサブスクライブする方法は他にないのでしょうか?
java - Websphere MQ トピック - 厳密に順序付けされていますか?
topic
サブスクライブしているWebsphere MQでメッセージを受信していますstrictly ordered
か?
つまり、 と同様にqueue
、接続が維持されている場合、topic
送信されたのと同じ順序でメッセージを受信することが保証されますか?
java - Sonic Topic に接続するためのシンプルな Java クライアント
メッセージを Sonic Topic に送信する単純な Java クラスを作成する必要があります。ルックアップに JNDI 値を使用できます。これがコードです。
これにより、エラー javax.naming.NameNotFoundException: /testtopic not found in the specified context がスローされます
コードをデバッグすると、「connectionFactory」変数に次のフィールドと値があり、上記のプロパティで指定した値とはまったく異なることがわかります。
Sonic トピックに接続するための単純な Java クライアントの作成方法を知る必要があります。
jboss - hornetq "キューのキュー情報が見つかりません"、コアブリッジ?
HornetQ の設定に関する知識は非常に限られていますが、できる限り問題を説明しようと思います。
セットアップは次のとおりです。
1 つのネットワーク上で複数の STANDALONE JBoss (6.1.0Final) インスタンスが実行されています。つまり、それらはクラスター化されておらず、異なるアプリケーションをデプロイしており、一般に相互に干渉するべきではありません。各 JBoss には、1 つのトピックで設定された HornetQ があります。
で構成されたコアブリッジ (またはまったくブリッジ) はありdeploy/hornetq/hornetq-configuration.xml
ません。実際、これはかなり標準的な conf ファイルであり、jboss で提供されているものからほとんどまたはまったく変更されていません (誰かが尋ねた場合は喜んで投稿します)。 )。
すべての JBoss インスタンスの起動中:
もちろん、UUID はサーバーごとに異なります。
ただし、一部のサーバーでは、HornetQ はブリッジも作成します (なぜ?):
最初の質問: なぜこのようなことが起こるのでしょうか? 構成が指定されていないのに、HQ がこのブリッジを作成するのはなぜですか?
問題は次のとおりです。
HornetQ は数秒ごとに吐き出します
現在、これは少し「ランダム」です。JBoss サーバーの中にはまったくログに記録しないものもあれば、異なる UUID で複数回ログを記録するものもあります。すべては、起動時に作成されたブリッジの数に依存します...
なぜこれが私に起こるのですか?それを止めるにはどうすればよいでしょうか。すべてのサーバーが互いに独立して動作するようにします。
この問題の解決に役立つ情報をさらに提供できることをうれしく思います。
jms - Apache camel と JMS のサンプル プログラム
私は1つのプログラムを使用して、jmsとapache camelを使用してメッセージをactivemqに公開しています..
10個のメッセージを正しく入れています...しかし、問題は、「i」の数を100,500に増やすか、テストフォルダーでそれほど多くのメッセージを見つけることができないことです..この問題の解決を手伝ってください....ありがとうあらかじめ..
jms - ActiveMQ トピックを使用して増分更新とスナップショット同期を送信する方法
これが私の使用例です: 私は取引アプリケーションを開発しており、見積もり全体とスナップショットの更新を新しい消費者に (最初に) 送信するのではなく、アクティブな消費者に株式の増分更新 (bidQty など) を送信したいと考えています。
さて、この動作を実現するために ActiveMQ のクラス (トピックの実装者) をオーバーライドすることは可能ですか? これに関する手がかりは役に立ちます。
他のオープンソース プロバイダーで同じことが可能である場合は、お知らせください。
java - AMQP 1.0 topic non-durable consumer
For some time now I'm trying to create topic consumer that will not require subscription. So i would like to achieve similar behavior like with JMS non-durable topic subscriber.
I'm using MS Azure AMQP 1.0 service bus and apache qpid amqp 1.0 client (JMS implementation).
Thanks
spring - いくつかの Spring JMS 構成を統合テストする方法
誰か助けてくれませんか。10 の私のスターターは、JMS とメッセージング全般についてほとんど (ほとんど何も) 知らないということです。
これは私にとっての学習演習であるため、非常に基本的な Spring JMS 構成をまとめ、それがどのように機能するかを理解するのに役立ついくつかの統合テストを作成しようとしています。
これは、JMS コンポーネントを含む現在の Spring コンテキスト構成です。
私の JmsMessageProducer クラスには、次のような postMessage メソッドがあります。
そして、私の JmsMessageListener (MessageListener を実装する) には、次のような onMessage メソッドがあります。
私のテスト クラスでは、Spring コンテキストを起動し、JmsMessageProducer Bean を取得して、postMessage を呼び出すことができます。コンソールに期待どおりのメッセージが表示されます。
これは機能しますが、コンソールで受信したメッセージを視覚的に見る以外に、メッセージが受信されたと断言できないため、それほど多くのテストではありません。
私たちはmockitoを使用しているので、テスト内でMessageListener Beanをモックに置き換えてverifyを呼び出す方法があるかどうか疑問に思っています。これらのテストの目的で別の Spring コンテキスト ファイルを提供することでそれを行うことができると思いますが、次の要件ではうまく機能しない可能性があります...
これらすべての最終目標は、メッセージ プロデューサがメッセージをキューに送信できるトピックを作成することです。1 つ以上の MessageListeners がキューからメッセージを読み取り、すべての登録済みリスナーがメッセージを読み取ると、メッセージはキューから削除されます。(トピックはこれに適した用語だと思います!)
このシステムが機能することを証明するには、Spring コンテキストを起動できるテストが必要です。最初にやりたいことは、リスナーをすべて同じ宛先に接続された 3 つのモックに置き換えて、それぞれで検証を使用できるようにすることです。メッセージを投稿してから、各モックが受信されたことを確認します。次に、2 つのリスナーを削除/無効化し、postMessage を呼び出し、残りの 1 つのモック リスナーで onMessage メソッドが呼び出されたことを確認します。その後、しばらく待ってから、2 つのモックを再構築し、onMessage メソッドが呼び出されたことを確認します。最後に、メッセージがキューにないことを確認します (3 つの登録済みリスナーがすべてメッセージを受信したため)。
上記を念頭に置いて、私がやろうとしているのは、実行時に宛先に対してリスナーを登録および登録解除(または無効化)することだと思います。それができれば、モックを登録できます。
ふぅ!、それは複雑です!しかし、私がやろうとしていることは理にかなっていると思いますか?
これを達成する方法についての指針はありますか?よろしくお願いします。
ネイサン