与Apache Camel进行交换时,多个队列具有相同的路由密钥

时间:2019-02-09 04:46:09

标签: java rabbitmq apache-camel rabbitmq-exchange

我正在尝试将两个队列绑定到一个交换。两个队列必须使用相同的消息(路由键)。我可以直接用RabbitMQ创建这两个队列。 但是,当我对Apache Camel尝试相同的操作时,它引发了一个异常,指出“同一端点不允许有多个使用者”。我假设Camel必须做到这一点,因为它是RabbitMQ的基本功能。

我正在使用Camel RabbitMQ插件。要使其正常工作,是否需要一些其他配置?

1 个答案:

答案 0 :(得分:0)

由于Apache Camel是基于Enterprise集成模式的通用集成框架,因此不允许在同一路径上使用多个侦听器。因此,尽管RabbitMQ支持绑定到交换机的多个队列,但Camel不会继续进行此类绑定。但是,您可以尝试做的就是这个。

  1. 具有两个单独的交换,每个交换绑定到一个队列。

  2. 这将允许您有两个单独的消费者,每个消费者绑定到一个单独的交易所

  3. 进行交换以交换上一步中创建的两个交换之间的直接绑定。

这应该有帮助。