私は応答キューからの応答を数えることに問題があります。つまり、1日に1回、dbからデータを集めてキューに送信する作業を実行します。すべての回答を受け取ったら、接続を切断する必要があります。問題は、すべての回答が到着したかどうかを確認する方法です。これをグローバル変数に保持することは、同意問題のために危険です。何か案が ?私はJMSでかなり新しいです。多分ソリューションは明らかですが、私はそれを見ません。すべての応答を受け取った場合のJava、JMSシャットダウン接続。
0
A
答えて
0
あなたのスタックが何であるか、これを達成するために使用しているツールはわかりませんが、これを念頭に置いておいてください。
- キューに入れる予定のジョブごとにハッシュを生成し、並行リスト/マップに格納します。 (つまり、
ConcurrentHashMap
) - ジョブをキューに送信します。
- ジョブが完了し、応答を返すと、ハッシュを再現し、完了したすべてのジョブを保持する別の同時リスト/マップを格納します。
これで、実行されるはずのすべてのジョブと、応答があったジョブの2つのリストが作成されました。これを達成するための複数の方法があります。 Java Concurrency
を検索すると、多くのチュートリアルとドキュメントが見つかります。私はCyclicBarrier and
CountDownLatch`を使用するのが好きです。これらの方法を使用する予定がある場合は、アプリケーションがハングしたり悪化したり、メモリ不足が発生したりするのを防ぐために、特別な注意を払ってください。
または、キューイングのリクエストと応答の数を単純に確認し、等しい場合は接続を切断します。
関連する問題
- 1. Socket.io:ハンドシェイク応答を受け取る前に接続が閉じられた
- 2. Apache PoolingHttpClientConnection Manager応答エンティティがnullになった場合の接続の解放
- 3. 応答を受け取った後に機能が続行するとき
- 4. Weblogic JMS Client - 接続ファクトリーから接続を作成していない応答
- 5. google direction apiからの応答を受け取った後、
- 6. python asyncio接続が不完全なhttp応答を受け取る
- 7. "すべての電話がOK Google [...]"に応答した場合、
- 8. Angularjs-probelmは、ajaxの応答を受け取った後でコンパイルします。
- 9. API(xamarin ios)からの応答を受け取ったときの例外
- 10. WebSocketは竜巻で応答を受け取った後も継続して聴きます
- 11. Javaソケットが接続を受けない
- 12. 角度 - 工場からの$ http応答を受け取っている問題を抱えている
- 13. 'ws:// localhost:3000 /'へのWebSocketの接続に失敗しました:ハンドシェイクの応答を受け取る前に接続が閉じられました
- 14. Excel 2016 oDataフィードに接続する(406)受け入れられない応答
- 15. ソケット接続を受け入れるJava EEアプリケーションに接続
- 16. TCP接続を受け付けるBashスクリプト。クライアント接続が発生したときにクライアントの応答として時刻を送信します。
- 17. android-json-rpc、無効な応答を受け取りました
- 18. WCFクライアントがキャッシュされた応答を受け取る
- 19. どのクライアントからどのクライアントから受け取ったメッセージをJavaのすべての接続されたクライアントに転送する方法
- 20. 接続切断後にWCFの信頼できるメッセージングでサーバーから応答を受け取る方法
- 21. TCPクライアントがループバックで応答を受け取っていません
- 22. 要求を送信して応答を受け取るツール
- 23. MassTransitはコンシューマからの応答を受け取ります
- 24. SoapUI JMS接続
- 25. phpunit - サービスに接続する偽のAPI応答または実際の応答?
- 26. セロリのエラー「0xceを受け取って0x00を受け取った」
- 27. laravelのvue.js2でjsonの応答を受け取る
- 28. ソケット接続タイムアウト例外を受け取り続ける
- 29. Camelのjmsリスナーが正しいメッセージを受け取っていない
- 30. camelのjmsがIBM MQからメッセージを受け取っていない
こんにちは、ありがとう、私はJMS(IBM MQの実装)でスプリングブートを使用しています – user3528733