gpt4 book ai didi

java - 如何在 Java 中读取 RabbitMQ 中的 header ?

转载 作者:搜寻专家 更新时间:2023-11-01 02:23:03 27 4
gpt4 key购买 nike

我想从以前设置的消息 header 中读取一些属性。我这样做了:

 Delivery delivery = consumer.nextDelivery();
Map<String, Object> headers = delivery.getProperties().getHeaders();

问题是, header 有奇怪的类型——例如 LongString。是否有任何辅助类可以让我轻松地将 header 转换为更有用的内容?

最佳答案

您必须在邮件中放入标题:

MessageProperties props = MessagePropertiesBuilder.newInstance().setContentType(MessageProperties.CONTENT_TYPE_JSON).build();
props.setHeader("headerKey1", "headerValue1");

Message msg = new Message("{'body':'value1','body2':value2}".getBytes(), props);

rabbitTemplate.send("exchange.direct.one", new String(), msg);

从 Rabbit Queue 读取入站消息的头部:

import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageListener;

public class MessagesHandler implements MessageListener {

public void onMessage(Message message) {
Map<String, Object> headers = message.getMessageProperties().getHeaders();
for (Map.Entry<String, Object> header : headers.entrySet())
{
System.out.println(header.getKey() + " : " + header.getValue());
}
}
}

关于java - 如何在 Java 中读取 RabbitMQ 中的 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33896373/

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