我想按属性或更具体地按属性进行 RabbitMQ 路由(通过交换)type
。
这是我的发送代码:
AMQP.BasicProperties.Builder propsBuilder = new AMQP.BasicProperties.Builder();
propsBuilder.type(typeName);
channel.basicPublish(targetExchange, "", true, props, data);
我尝试使用交换类型headers
,但如果我理解正确,“标题”只是在属性“标题”中设置的标题,而不是属性本身。
这是我的接收绑定代码(未按预期工作):
channel.exchangeDeclare(exchangeName, "headers", false, true, null);
HashMap<String, Object> filter = new HashMap<String, Object>();
filter.put("x-match", "all");
filter.put("type", "HEARTBEAT");
channel.queueBind(queueName, exchangeName, "", filter);
我还想知道在使用交换路由到另一个交换时是否可以设置相同的过滤。我相信这应该是可能的。