問題タブ [amq]
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 - AMQ メッセージの JMSTimestamp を変更してブローカーに送信する方法を知っている人はいますか?
springboot Java フレームワークを使用して複数のブローカーとやり取りするアプリケーションを作成しています。JMS を利用して、4 時間以上経過したメッセージを参照/読み取りしています。主な問題は、この機能の単体テストを生成しようとすることです。これは、テストで古いメッセージをブローカーに送信する必要があるためであり、ここで読んだ記事に基づいており、メッセージがブローカーに送信されるとリセットされるため、タイムスタンプを変更しても何も起こらないことが説明されています。基本的に、メッセージが古い可能性がある記事をレンダリングします。誰かがいくつかの回避策を持っていますか? または私がこれを達成する方法を知っていますか?
JMSTimestamp を設定しようとしましたmessage.setJMSTimestamp(System.currentTimeMillis() - 14400000)
。実行時には、タイムスタンプが 4 時間前であることが示されますが、jconsole でメッセージをチェックすると、現在の日付/時刻としてのみ表示されます (例Wed Apr 14 13:41:27 EDT 2021
)。
python - Pythonのstomp.ConnectionListenerは、ActiveMQからメッセージをデキューしている間、データを保持しますか?
AMQ から python にメッセージをプルしたい。バッチ処理に Python を使用したい (キューに 1000 個のメッセージがある場合、100 個のメッセージごとにキューから取り出して処理し、次の 100 個のメッセージを取得して処理する必要があります...すべてのメッセージがキューから取り出されるまで)。
これがbatchListenerの私のpythonコードです:
メッセージを AMQ にプッシュするシミュレーターを作成しました。1000 メッセージを ActiveMQ にプッシュしたら、コンシューマーが起動すると、Python コードは ActiveMQ からデータをプルし始めますが、Python コードは一度に 100 を超えるメッセージをプルしています。(処理は 100 に対してのみ行われますが、100 を超えるメッセージがキューから取り出されています)。つまり、最後のバッチ (100 メッセージ) では、ActiveMQ でメッセージが表示されていませんが、メッセージは Python プロセスで取得されています。
1. ActiveMQ からのデキュー中に、stomp はメッセージを保持しますか? 2. バッチの処理中に、stomp はデータを保持しますか?