我必须实现一个微服务,它从rabbitmq队列中获取消息,转换它并将其推送到rabbitmq交换。
我正在使用Apache Camel RabbitMq和Spring Boot实现此功能,使用Java SDL for Camel。 我在我的机器上使用(现在)一台rabbitmq服务器。 配置如下所示:
from("rabbitmq://localhost:5672/exchange1?username=guest&password=guest&queue=q1&autoDelete=false");
.to("rabbitmq://localhost:5672/exchange2?username=guest&password=guest&exchangeType=fanout&skipQueueDeclare=false")
代码anove从q1获取消息,并且它在q1中一遍又一遍地再次发布它。它只是从队列中获取消息并将其发送(例如)到文件,或单独创建消息并将其发布到交换机。 有没有办法让它像我期望的那样工作?
由于
答案 0 :(得分:1)
from()
生成rabbitMQ标头。除非您手动删除它们,否则它们会传递给您的to()
。这将在您的连接中造成不匹配。最好是在from()
之后删除兔子标题,这样他们就不会干扰您的to()
。