問題タブ [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 に答える
602 参照

jms - マルチスレッド環境でクライアント ID とサブスクリプション名を一意にするこのアプローチは機能しますか?

複数のトピックからのメッセージを消費し、メッセージを変換してから複数のトピックに公開するアプリケーションを構築しています。connectionfactory オブジェクトを検索した後、このコードを使用しています

永続的なサブスクリプションを作成している間、私はこの MessageConsumer consumer = session.CreateDurableSubscriber(topic,"DurableSubscribtion"+clientId, topic.getSelector, true); を使用しています。

すべての接続には、一意のクライアント ID とサブスクリプション名が必要です。

接続が閉じられた後、新しく作成された接続の hashCode を使用して同じサブスクリプションに再度アクセスしようとしましたが、このアプローチは機能しますか? または、SUBSCRIBER1、SUBSCRIBER3、SUBSCRIBER2 などのサブスクリプション名を指定する必要がありますか?

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

java - 2 つのリスナーを持つ JMS キュー

JMS キューに関して質問があります。

私が利用できる唯一のキューであり、私が使用できる唯一のキューとして、共有キューを使用してjmsセンダー/レシーバーを実装しました。

私が今直面している問題は、この先着順であるため、プロデューサーから送信しているメッセージが、このキューを共有している他のユーザーではなく、私の消費者によって消費されることを保証できないことです。だから私は他のアプリのメッセージを消費していて、彼らは私のものを消費しています。

メッセージをリッスンしてキューから消費しない方法はありますか、それともトピックの実装ですか?

または、消費者だけが取得する識別子を明示的に設定することもできます。

私の主なコード:

0 投票する
3 に答える
5766 参照

java - JMS トピックとキュー - 意図

キューを使用するユースケースを理解しようとしています。

私の理解: Queue は 1 対 1 を意味します。唯一の使用例 (まれではないにしても、非常に少ない) は次のとおりです。メッセージは 1 回だけの消費を目的としています。

しかし、そのような場合でも、トピックを使用したい場合があります (将来の安全のために)。唯一の特別な注意は、サブスクリプションを永続的にすることです。または、特別な状況では、ブリッジング/ディスパッチャ メカニズムを使用します。

上記のように、私は常に (またはほとんどの場合) トピックに公開したいと考えています。サブスクライバーは、永続的なトピックまたはディスパッチされたキューのいずれかです。

ここで何が欠けているのか、または元の意図が欠けているのか教えてください。

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

jms - 多くの宛先からの JMS メッセージを単一のキューに集約する

多くの異なるソース (実際にはキュー/トピック) からのメッセージを単一のキュー/トピックに集約し、それを消費するための最良の方法は何ですか? weblogic を使用して JMS のさまざまなトピックからメッセージを受信するアプリケーションを設計しようとしています。

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

wso2 - ActiveMQ を使用した JMS 構成

メッセージストアと転送プロセスに必要なすべてのプロセスを実行しました activeMQ 5.5.1 をインストールし、必要な Jar を WSO2eSb にコピーしました AXIS2 ファイル構成もこのように変更しました

INFO - JMSSender JMS Sender が開始されました [2013-07-23 17:02:18,752] INFO - JMSSender JMS Transport Sender が初期化されました... この後、JMS MESSAGE STORE を作成しました <

スケジュールされたメッセージ転送プロセッサを追加します

そして、このような私のプロキシサービス構成

メッセージをメッセージ ストアに保存するが、転送が間違っている メッセージが WSO2esb で失われたメッセージを処理しているにもかかわらず、IF エンドポイントが機能しない このメッセージを送信する

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

openejb - OpenEJB がトピック リソースの構成プロパティを無視する

OpenEJB のメッセージ駆動型 Bean でトピックを使用しようとしています。そこで、conf/openejb.xml を次のように編集しました。

私が得る使用bin/openejb properties

これは問題ないようです。ただし、EAR ファイルをデプロイすると、次のようになります。

そして、ここに私の豆があります:

ここで何が間違っていますか?

0 投票する
0 に答える
991 参照

serialization - シリアル化された Java オブジェクトを WSO2 ESB の JMS トピックに公開する方法

WSO2 ESB、WSO2 MB、および JMS トピックを使用して、パブリッシュおよびサブスクライブのシナリオをセットアップしようとしています。

パブリッシング プロキシでは、エンドポイント サービスは Serializable を実装する Java メッセージを返し、プロキシのアウト シーケンスでメッセージを JMS トピックにパブリッシュする必要があります。

以下は私のプロキシのコピーです:

私が試したこと:

  1. 私のエンドポイント サービスは、Serializable を実装するカスタム Java オブジェクトを返します。

    結果: ログ メディエーターから、パブリッシュされたメッセージは SoapEnvelope のように見えます。ペイロードは XML 形式の MyMessage の base64necoded 応答です。

  2. 私のエンドポイント サービスは、オブジェクトとして MyMessage を含む JMS ObjectMessage を返します。すなわち:

    結果:

    JMSOutTransportInfo {java.naming.provider.url=tcp:// localhost:61616、java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory、transport.jms.DestinationType=topic を使用して初期コンテキストを取得できませんでした, transport.jms.ConnectionFactoryJNDIName=TopicConnectionFactory} javax.naming.NoInitialContextException: ハッシュ テーブルで指定されたファクトリを使用して InitialContext を作成できませんでした。[ルート例外は java.lang.ClassNotFoundException: クラス org.apache.activemq.jndi.ActiveMQInitialContextFactory が見つかりません]

  3. 試行 2 から、axis2.xml ファイルに固有のものに変更TopicConnectionFactoryされました。myTopicConnectionFactory結果: 試行 2 と同様のエラー。

私の質問:

  1. エンドポイント サービスは MyMessage (試行 1) または MyMessage を含む JMS ObjectMessage (試行 2 & 3) を返す必要がありますか?
  2. 試行 1 では、デコードされた応答のペイロードに XML のメッセージではなく、シリアル化された Java オブジェクトを表すバイナリ データが表示されることを期待していました。これは有効な期待ですか?
  3. トピックにパブリッシュする前に、メッセージをシリアル化された Java オブジェクトとしてマークするために (プロキシまたはエンドポイントなどで) 設定する必要がある他のプロパティはありますか?

ありがとうございました。