問題タブ [spring-jms]

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

jakarta-ee - AWS Elastic Beansalk を分散メッセージ処理に使用できますか?

シンプルな Java Web アプリケーションを使用して、Spring JMS クライアントをブートストラップしてロードし、キューでメッセージをリッスンして受信メッセージを処理することを計画しています。私の Web アプリケーションは、JMS クライアントをロードするためだけに存在します。このアプリケーションにアクセスするユーザーはいません。

このアプリケーションを AWS Beanstalk にデプロイした場合、ジョブ キューにメッセージがロードされ、ウェブ アプリケーションの jms ジョブ リスナーが利用可能なすべてのリソース (メモリ) を使用していると仮定すると、自動的にスケーリングされますか。スレッドなど? ロードバランサーにトラフィックがない場合でも、AWS はアプリケーションの新しいインスタンスをスピンアップしますか?

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

spring - Spring-JMS(Websphere MQ)

Spring で以下の構成を使用しています。正常に動作していますが、パフォーマンスが低すぎます (20 メッセージで 1 分かかります)。パフォーマンスを向上させるための変更を提案してください。

私は春から

そして、私の送信者プログラムは次のとおりです。

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

java - クライアントが動作を停止すると、JMS に javax.jms.InvalidDestinationException が発生する

クライアントからサーバーにリクエストを送信するために JMS を使用しています。

クライアントがサーバーにリクエストを送信します。サーバーがリクエストを処理している間、サーバーが終了する前にクライアントが停止します (ネットワークの問題)。

サーバーが終了すると、クライアントに戻りますが、サーバーは要求をサーバーに送信したクライアントを認識できません。その時点で、サーバーはログ ファイルに例外を返します。

例外は次のとおりです。

私の質問は次のとおりです。この場合、何をする必要がありますか? この例外をキャッチまたは無効にすることはできますか? そして、どうすればそれを行うことができますか?

(私の英語が下手でしたらすみません。)

0 投票する
4 に答える
10698 参照

java - キューの永続性をテストしようとしています。コンシューマーのブレークポイント時にメッセージを送信できません

ActiveMQのキューの永続性をテストしようとしています。

固有のコンシューマーを備えた組み込みのActiveMQサーバーがあります。この組み込みサーバーは、他の多くのJVMアプリケーションからJMSメッセージを受信します。

正常に動作し、コンシューマーアプリケーションが通知を受信します。

だから私はメッセージの永続性をテストしようとしました。コンシューマーのMessageListenerに(リモート)ブレークポイントを設定して、多くのメッセージをキューに入れ、ActiveMQサーバーをクラッシュさせることができるようにしました。サーバーの再起動時に、キューに入れられたすべてのメッセージを消費できるようにし、失われないようにします。

そして、私はそのテストを試しました。最初のメッセージ送信でそのブレークポイントに入りました。しかし、送信しようとするすべてのメッセージについて、プロデューサー側で次のスタックトラックを取得します。

コンシューマーがブレークポイントにあるときにプロデューサーがブロックされる理由がわかりません。

私のブローカーのURIは次のとおりです。mobilepush.activemq.broker.transport.connector.uri=tcp://0.0.0.0:61616

プロデューサーはtcpを介してブローカーに接続します。ブローカーと同じ場所にあるコンシューマーは、を介して接続しvm://localhostます。


私の設定はとても簡単です:



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

distributed-transactions - JMSを使用してマシン間でトランザクションを実行できますか?

ケース:開始:トランザクションの作成

  1. DBへのデータの挿入(マシンA)
  2. 同期JMSメッセージをキューに送信します(マシンA)
  3. キューからJMSメッセージを受信する(マシンB)
  4. DBにデータを挿入して返す(マシンB)
  5. (マシンA)のさらなるプロセス

終了:トランザクションをコミットします

マシンAとBのプロセスは1つのトランザクションで動作できますか。したがって、プロセスBがロールバックする場合、およびその逆の場合、プロセスAはロールバックしますか?

例はありますか?追加のサーバー/コンポーネントが必要ですか?

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

java - RESTFull Web サービスでの JMS の使用

Java+SpringでRest Fullサービスを開発しています。これは、モバイル アプリ (iPhone+Android) および Web アプリケーションで使用できます。

非同期で信頼性の高い電子メール メッセージをモバイル アプリや Web アプリケーションに送信するには、 JMS (Java Messasing サービス)を選択する方がよいでしょうか。それとも、JMS 以外の非同期メッセージングに適した代替手段はありますか。助けてください。

編集 :

サーバーが受信者がメッセージを受信するのを待たないように、RESTFull Web サービスで電子メール メッセージの配信を保証するだけでなく、非同期メッセージング モードを使用する電子メール メッセージを送信する必要があります。また、サーバー エンドで JMS を使用してキュー内のメッセージを発行/生成する場合、Mobile Apps は JMS キューからメッセージをどのように受け取るのでしょうか? JAVAサーバーから発行されたメッセージをiPhone/Android/PHP Webアプリケーションで受信することはできますか?

ありがとう、

アルン・クマール

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

java - DefaultMessageListenerContainer、リッスンするキューに関する知識

MessageListenerがリッスンしているキューをonMessageメソッド内で知る可能性はありますか?

私のSpring-config(その一部):

私のリスナークラス:

すぐに使えるソリューションはありますか?または、キュー/宛先名を取得するためのカスタムソリューションはありますか?

後続のバッチ処理でキューが必要ですか...

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

spring - Active MQ が大量のメッセージでメッセージのディスパッチを停止する

Spring JMS と Active MQ (5.6) でシステムを構築しています。これには、約 12 個の Spring Default Message Listener Containers (それぞれ最大 20 個の同時インスタンス) がすべて同じアクティブな mq 宛先 (キュー) に接続されています。

システムは、各ハンドラー (コンテナー) が自分自身にアドレス指定されたキューからメッセージを取得し、セレクターを使用して作業を行い、すべての作業が完了するまでメッセージをキューに戻すことによって機能します。

それぞれが 9 つの異なるハンドラーを通過する必要がある 25,000 のメッセージを送信するベンチマーク テストを行っています。

テストを実行するたびに、約 11300 のメッセージのみがすべてのハンドラーを通過しますが、アクティブな MQ はそれ以上メッセージを送信しません。

現在のテストの最後に、キューの次の統計を確認できます。 Enqueue Count: 120359 Dequeue Count: 106693 Dispatch Count: 106693 Inflight Count: 0 Queue Size: 13666

ブローカを再起動しない限り、アクティブな MQ はメッセージをディスパッチしません。

以下は私のactive-mq設定です:

そして、これはハンドラーの私の春の設定のサンプルです:

ActiveMQ のログ ファイルには、ディスパッチを停止する理由を示唆するような異常は何も表示されません。

これ以上メッセージが送信されない理由を知っている人、または問題をさらに診断するための提案がある人はいますか?

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

spring - SpringJmsTemplateを使用してJMSメッセージがキューに到達するのを遅らせる方法

私が理解しているように、これはキューサーバープール内のスレッドを「拘束」するため(複数のキューが構成されているため)、レシーバータイムアウトでメッセージコンシューマーをブロックしたくありません。では、カスタムスレッドなしでメッセージが送信されるのを遅らせるにはどうすればよいですか(作業はEJB 2セッションBeanによって実行されています)?それが役立つ場合は、JBossMessaging1.xがプロバイダーです。

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

java - Lingo JMS プロデューサが WLS JMS への自動再接続に失敗する

JMS プロバイダーとして WLS 10.3.4.0 を使用しています。私のアプリケーションには、Lingo と Spring Remoting を使用して構成されたプロデューサーとコンシューマーがあります。私の Producer はorg.logicblaze.lingo.jms.JmsProxyFactoryBeanで、私の Consumer はorg.logicblaze.lingo.jms.JmsServiceExporterMessageListenerです。WLS でプロデューサーとコンシューマーの自動再接続を有効にしました。奇妙なことに、すべてのコンシューマーは自動的に再接続しますが、プロデューサーはそうではないようです。

接続をリセットする方法javax.jms.ExceptionListenerで、を構成しようとしました。onExceptionただし、WLS JMS が再び使用可能になり、プロデューサが再接続しないと、例外リスナーはトリガーされません。しかしLostServerException、プロデューサーを使用してメッセージを送信しようとすると、複数の s が表示されます。これは、再接続について、WLS がそもそも接続ファクトリにまったく通知しなかったことを信じさせます。javax.jms.ConnectionFactory私はnoExceptionListenerorg.springframework.jms.connection.CachingConnectionFactorywithでplain oldを使ってみましたExceptionListener

関連するコードは次のとおりです。

CachingConnectionFactory構成

Tomcat コンテナー内の複数の Web アプリケーションで使用される一般的な JNDI ルックアップ

私のプロデューサーとコンシューマーの設定:

私のビジネス ロジックの一部は、リフレクションを介して myServicecallProducer非同期メソッドを呼び出します。

アプリケーションを維持したまま WLS JMS を再起動すると、一連のメッセージが表示されます"DefaultMessageListenerContainer - Successfully refreshed JMS Connection"。次に、プロデューサ経由でメッセージを送信しようとすると、Tomcat ログに一連の WLS jms 例外が見つかります。

アイデアはありますか?この問題は、丸一日私に挑戦しています。

PS - 関連するコードは、Spring アプリケーション クライアントで WLS JMS を使用しようとしている場合に役立ちます。プロデューサーの自動再接続を除いて、これはエンドツーエンドで機能しています。