我正在尝试将一个Rabbitmq生产者的C#版本转换为java中的一个版本,而我遇到的一个问题就是找出如何发送带有多个字符串值的消息头。我想我可能已经找到了它但是如何在标题中添加其他值。目前的代码:
AMQP.BasicProperties.Builder builder = new AMQP.BasicProperties().builder();
builder.headers(Collections.<String,Object>singletonMap("pId",ID));
builder.headers(Collections.<String,Object>singletonMap("query",searchQ));
pchannel.basicPublish("","best_queue",builder.build(),post.getBytes());
System.out.println(" [x] Sent '" + msgcount.toString() + "' MESSAGES.");
但只显示最后一个标题属性。如何在标题中添加更多值?
答案 0 :(得分:1)
第二个替换第一个。
尝试使用:
Map<String,Object> headerMap = new HashMap<String, Object>();
headerMap.put(key,value)
headerMap.put(key1,value1)
headerMap.put(key2,value2)
builder.headers(headerMap);
pchannel.basicPublish("","best_queue",builder.build(),post.getBytes());
System.out.println(" [x] Sent '" + msgcount.toString() + "' MESSAGES.");
以这种方式应该按预期工作