【问题标题】:Multiple queues with same routing key from an exchange with Apache Camel来自与 Apache Camel 交换的具有相同路由密钥的多个队列
【发布时间】:2019-07-03 08:04:45
【问题描述】:
我正在尝试将两个队列绑定到一个交换。两个队列必须使用相同的消息(路由键)。我可以直接使用 RabbitMQ 创建这两个队列。
但是,当我尝试对 Apache Camel 进行相同操作时,它会抛出一个异常,指出“同一端点不允许多个消费者”。我假设 Camel 一定可以做到这一点,因为它是 RabbitMQ 中的一个基本功能。
我正在使用Camel RabbitMQ 插件。是否需要一些额外的配置才能使其正常工作?
【问题讨论】:
标签:
java
rabbitmq
apache-camel
rabbitmq-exchange
【解决方案1】:
由于 Apache Camel 是基于企业集成模式的通用集成框架,它不允许多个侦听器在同一路由上。因此,虽然 RabbitMQ 支持绑定到一个交换器的多个队列,但 Camel 不会继续这种绑定。但是,您可以尝试这样做。
有两个独立的交换,每个交换绑定到一个队列。
这将使您有两个独立的消费者,每个消费者都绑定到一个各自的交易所
- 在上一步中创建的两个交换之间进行交换以交换直接绑定。
这应该会有所帮助。