Eclipse マイクロプロファイル エミッターを使用して、Quarkus アプリケーションで ActiveMQ Artemis プロデューサーを作成しました。しかし、メッセージはすぐに期限切れになり、に移動されていExpiryQueue
ます。この動作についてはよくわかりません。指定された時間後にのみ有効期限が切れるように、メッセージをキューに保持する方法を提案してください。
以下のコードを使用しています。
@Inject
@Channel("my-queue")
Emitter<String> emitter;
メタデータの下に作成:
String message = "my-message";
OutgoingAmqpMetadata metadata = OutgoingAmqpMetadata.builder()
.withExpiryTime(10000L)
.withDurable(true)
.withMessageId(String.valueOf(message.hashCode()))
.build();
emitter.send(Message.of(message, Metadata.of(metadata)));
smallrye-amqp
コネクタを使用しています。の以下のプロパティを追加application.properties
:
mp.messaging.outgoing.my-queue.connector=smallrye-amqp