springboot Java フレームワークを使用して複数のブローカーとやり取りするアプリケーションを作成しています。JMS を利用して、4 時間以上経過したメッセージを参照/読み取りしています。主な問題は、この機能の単体テストを生成しようとすることです。これは、テストで古いメッセージをブローカーに送信する必要があるためであり、ここで読んだ記事に基づいており、メッセージがブローカーに送信されるとリセットされるため、タイムスタンプを変更しても何も起こらないことが説明されています。基本的に、メッセージが古い可能性がある記事をレンダリングします。誰かがいくつかの回避策を持っていますか? または私がこれを達成する方法を知っていますか?
JMSTimestamp を設定しようとしましたmessage.setJMSTimestamp(System.currentTimeMillis() - 14400000)
。実行時には、タイムスタンプが 4 時間前であることが示されますが、jconsole でメッセージをチェックすると、現在の日付/時刻としてのみ表示されます (例Wed Apr 14 13:41:27 EDT 2021
)。