問題タブ [jmstemplate]

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 に答える
2138 参照

java - Spring の JmsTemplate を使用して JMS メッセージを activemq Queue に送信できない

私は、約 5 年間の .NET 経験の後、Java に戻る開発者です。MVC フレームワークの知識はありますが、Spring MVC と Spring フレームワークについてはまったくの初心者です。

activemq JMS キューにエンティティを保存する予定の割り当てがあります。より複雑なオブジェクトを送信する前に、まず単純な TextMessage で試してみることにしました。ビューの入力ボタン コントロールにマップされたコントローラーから送信を試みるたびに、Tomcat で java.lang.NullPointerException が発生します。それ以外の情報はあまり表示されません。ソースが ApiMessageSender クラスのこのコード行からのものであることを示しているだけです。

Spring Web mvc Web アプリケーション内の実装は、3 つのクラスで構成されています。1) ApiMessageSender.java

2) Spring IoC 配管が行われる WebAppConfig.java。このクラスは、このプロジェクトではまったく使用されない ApplicationContext.xml ファイルの代わりになります。キュー名は、アプリケーションを実行する前に、ActiveMQ 管理 Web インターフェイスから手動で作成されました。

3) ApiController.java

ビューでボタンがクリックされたときに呼び出される、コントローラー内のこのアクション メソッド。他の要件に進むことができるように、特定のコード スニペットをコメントアウトしました。

ここで何が問題になる可能性がありますか?ここで java.lang.NullPointerException が発生するのはなぜですか? どうすればこれを機能させることができますか? どうもありがとうございました。

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

spring - 単一の JMSTemplate を複数のプロデューサーで共有できますか?

ActiveMQ ブローカーに接続する複数のプロデューサーに対して JMSTemplate の単一インスタンスを共有したいと考えています。サンプル構成:

上記の構成を使用できますか?

ここで述べたように:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/jms.html

JmsTemplate クラスのインスタンスは、一度構成するとスレッドセーフになります。これは、JmsTemplate の単一のインスタンスを構成してから、この共有参照を複数の共同作業者に安全に挿入できることを意味するため、重要です。明確にするために、 JmsTemplate は ConnectionFactory への参照を維持するという点でステートフルですが、この状態は会話状態ではありません。

ありがとう、
アヌジ

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

spring - トピックを使用するが、すべての消費者がメッセージを受け取るわけではない

メッセージを生成する送信者を作成し、それをすべての消費者に送信したいと考えています。トピックを使用していますが、何かが間違っています。たとえば、3 つのコンシューマーがあり、そのうちの 1 つだけがメッセージをランダムに受け取ります。何がウログなのかわからない。これが私のサーバー構成です

そして私のプロデューサークラス(メッセージを送信する部分だけ)

私のクライアントコンテキスト構成:

そしてJavaクライアントクラス

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

java - 接続を閉じる JmsTemplate の Websphere 設定

私は JmsTemplate でいくつかの読み取りを行いました。デフォルトでは、メッセージの送受信後に各接続を開いたり閉じたりします。シーケンスは次のとおりです。

接続を開く メッセージを送受信する 接続を閉じる

アプリケーションが JmsTemplate.receiveSelected() を使用してキューから多くのメッセージを読み取るシナリオがあり、それには永遠に時間がかかります。

org.springframework.jms.connection.SingleConnectionFactory を使用します。

次に、org.springframework.jms.connection.CachingConnectionFactory を試してみましたが、セッション、接続、およびプロデューサーをキャッシュするため、超高速です。

アプリを Websphere にデプロイすると、Websphere が JMS 接続ファクトリーのセットアップを処理するので、キューへの接続に使用する接続ファクトリーを選択する必要はありません。

Websphere 管理コンソールから PooledConnectionFactory または CachingConnectionFactory を定義するように Websphere 7.0 を構成する方法はありますか?

Java を使用して開発しているため、接続のデフォルトの JmsTemplate の開閉を無効にする方法があるかもしれません。代わりに、接続を開いてキューから多くのメッセージを読み取り、次に接続を閉じます。

接続を開く

JmsTemplate.receiveSelected() <-デフォルトのオープンおよびクローズ接続を無効にします

接続を閉じる

ありがとう

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

java - JmsTemplate で Java との接続を開いたり閉じたりする

JmsTemplate を使用してキューへの接続を開いたり閉じたりする方法の例を教えてもらえますか?

receiveSelected()現在、メソッドを使用してキューから多くのメッセージを読み取っています 。ただし、メッセージを読み取るたびにorg.springframework.jms.connection.singleconnectionfactory、アプリケーションが読み取るメッセージごとに接続を開いたり閉じたりします。

代わりに、接続を開いてキューから大量のメッセージを読み取ってから、接続を閉じたいと思います。

ありがとう