消费者和生产者之间使用哪种消息

时间:2015-11-17 10:44:41

标签: rabbitmq rabbitmq-exchange

我使用RabbitMQ作为消息代理。我有一个消费者和一个制片人。到目前为止,我已经创建了一个具有很少原始属性问题是,只要我需要消费者中有效负载的更多信息,我需要更改有效负载,以便我可以在消费者中处理:最后这个任务可能很重。

我想知道我是否可以使用某种地图作为有效载荷,或者不建议这样做?像这样,我有一个通用的有效载荷。

另一方面,我们的应用程序中有Seri​​alizable DTO。我想我可以创建一个包含DTO的Payload吗?

我试图找出最佳方法:)

1 个答案:

答案 0 :(得分:0)

如果您需要额外信息,可以使用消息属性:

 AMQP.BasicProperties.Builder builder =
                        new AMQP.BasicProperties().builder();
                        Map<String,Object> headerMap =
                        new HashMap<String, Object>();
                        headerMap.put("mykey1", myvalue1);
headerMap.put("mykey2", myvalue2);
builder.headers(headerMap);


channel.basicPublish("","myqueue",builder.build(),"message".getBytes());

使用headerMap您可以添加或删除信息,而无需修改消息

希望有所帮助