Java 骆驼不发布到RabbitMQ队列
我在Camel中的routeContext中定义了一个简单的路由(该路由将用于多个路由)Java 骆驼不发布到RabbitMQ队列,java,apache-camel,rabbitmq,Java,Apache Camel,Rabbitmq,我在Camel中的routeContext中定义了一个简单的路由(该路由将用于多个路由) 我的钥匙 我有一个端点(在端点文件中定义) 是的-我已经看到了页面-这就是我在交易所设置标题的想法。但是,队列上没有发布任何消息。很明显,我忽略了一些事情,任何帮助都将不胜感激。因此,这似乎有点牵强,答案与我在问题中没有包括的部分路线有关,因为我认为这不相关 路由从RabbitMQ端点开始(上面未包括)。因此,exchange在到达时设置了一些RabbitMQ头: rabbitmq.ROUTING
我的钥匙
我有一个端点(在端点文件中定义)
是的-我已经看到了页面-这就是我在交易所设置标题的想法。但是,队列上没有发布任何消息。很明显,我忽略了一些事情,任何帮助都将不胜感激。因此,这似乎有点牵强,答案与我在问题中没有包括的部分路线有关,因为我认为这不相关 路由从RabbitMQ端点开始(上面未包括)。因此,exchange在到达时设置了一些RabbitMQ头:
rabbitmq.ROUTING\u KEY
rabbitmq.EXCHANGE\u NAME
rabbitmq.DELIVERY\u标签
public void stripRabbitHeaders(@Headers Map headers)
{
headers.remove("rabbitmq.ROUTING_KEY");
headers.remove("rabbitmq.DELIVERY_TAG");
headers.remove("rabbitmq.EXCHANGE_NAME");
}
顺便说一句:您可以使用
removeHeaders(String模式,String…excludePatterns)
Airomega轻松地从路由中删除头文件-您是如何设置端点文件的?
<endpoint id="genericRabbitEndpoint" uri="rabbitmq://${rabbitmq.host}:${rabbitmq.port}/${rabbitmq.exchange.name}">
<camel:property key="autoDelete" value="false" />
<camel:property key="connectionFactory" value="#rabbitConnectionFactory" />
</endpoint>
public void stripRabbitHeaders(@Headers Map headers)
{
headers.remove("rabbitmq.ROUTING_KEY");
headers.remove("rabbitmq.DELIVERY_TAG");
headers.remove("rabbitmq.EXCHANGE_NAME");
}