指定された時間非アクティブなキューからすべてのメッセージを自動的に削除したい (その時間に新しいメッセージが到着しなかった)。
here で説明されているように、コードからキューを明示的に空にしたり、パージを明示的に呼び出したりしたくありません。
ここで説明する構成も、空のキューのみを自動的に削除し、私のキューは空ではないため、私の場合には適切ではありません。
そのタスクを自動的に実行できる既知の ActiveMQ 構成はありますか?
私はそのような要件を持ったことがなく、そのような機能がactivemqに存在するかどうかはわかりませんが、興味があるかもしれない2つのオプションがあります:
1)関連性がなくなったために非アクティブなキューのメッセージをパージする場合は、各メッセージに存続時間を設定できます(プロデューサー側の setTimeToLive() メソッド)
2) 正確な動作が必要な場合は、独自のプラグインを開発できます。実際、activemq ブローカーはかなり拡張可能です (参照: http://activemq.apache.org/developing-plugins.html ) 。
それが役に立てば幸い。