gpt4 book ai didi

quarkus - 在 quarkus 中发送带有 header 的 amqp 消息

转载 作者:行者123 更新时间:2023-12-05 07:12:13 30 4
gpt4 key购买 nike

我想使用 Quarkus 在 AMQP 消息中将 Java(以及 Kotlin)POJO 作为 JSON 发送到 RabbitMQ。

@Path("/amqp")
class TestSource {

@Inject
@Channel("amqpwrite")
lateinit var emitter: Emitter<MonitoringStatusDto>

@POST
@Path("/send")
fun sendMsg() {
val status = MonitoringStatusDto(status = "OK", message = "test amqp write")
emitter.send(status)
}
}

在 rabbit 队列上,消息以 base64 编码字节流的形式接收。

如何在这里设置标题以将内容类型放入其中?TTL 等 header 设置也可能很有趣。

最佳答案

您可以向发射器添加元数据:

emitter.send(Message.of(recordToPublish,
() -> {
// Called when the message is acked
return CompletableFuture.completedFuture(null);
},
e -> {
// Called when the message is nacked
throw new RuntimeException(errorMessage, e);
}).addMetadata(OutgoingKafkaRecordMetadata.<String>builder()
.withHeaders(new RecordHeaders().add("my-header", "value".getBytes()))
.build()));

我遇到了同样的问题,我找到了这个指南:https://quarkus.io/guides/kafka#sending-messages-to-kafka

关于quarkus - 在 quarkus 中发送带有 header 的 amqp 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60510297/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com