首页 文章

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

提问于
浏览
0

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

我想知道我是否可以使用某种 Map 作为有效载荷或不推荐?像这样,我有一个通用的有效载荷 .

另一方面,我们的应用程序中有Serializable DTO . 我想我可以创建一个包含DTO的Payload?

我正在试图找出最好的方法:)

1 回答

  • 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 您可以添加或删除信息而无需修改您的消息

    希望能帮助到你

相关问题