[英]How to publish messages on RabbitMQ with fanout exchange using Spring Boot
[英]Consume DirectExchange messages using routing key and exchange in spring boot
我正在尝试从直接交换类型(借助交换和路由密钥创建)的退出队列中使用消息。 我只有交换名称和路由密钥,而没有队列名称 。 有对纯Java的支持,但是没有地方可以在Spring引导中找到它。
@RabbitListener
@RabbitHandler
public void consumeMessage(Object message) {
LOGGER.debug("Message Consumed.... : {}", message.toString());
}
我如何使用带有路由键和交换名而不是队列名的消息来使用消息,而不是@RabbitListener
要求queue
。
消费者从队列而不是交换中消费。 您必须使用路由密钥将队列绑定到交换机。
编辑
有几种方法可以在代理上自动声明队列。
@RabbitListener(bindings =
@QueueBinding(exchange = @Exchange("myExchange"),
key = "myRk", value = @Queue("")))
public void listen(String in) {
System.out.println(in);
}
这将绑定一个匿名队列(自动删除),该匿名队列在应用程序停止时将被删除。
@RabbitListener(bindings =
@QueueBinding(exchange = @Exchange("myExchange"),
key = "myRk", value = @Queue("foo")))
public void listen(String in) {
System.out.println(in);
}
将使用路由键将永久队列foo
绑定到交换。
您也可以简单地声明#Bean
来进行队列,交换和绑定。
请参阅配置代理 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.