2016-02-24 133 views
1

我是Apache Camel的新手,正在寻找一种方法将路由输出到AMQP。Apache Camel:向AMQP输出路由消息

我可以自己编写一个例程发送给AMQP,但是我在寻找如何在声明路由时使用Camel.to()来完成的建议?网上很难找到一个完整的例子。

什么,我需要做的:

  1. 配置AMQP路线发送输出(服务器证书等)
  2. 确保这条路线是可访问的,因为我要处理miscofiguration。
  3. 我需要发送一个JSON。我需要将POJO编组为字符串,还是可以使用一些自动转换?

所有我想要做的事情,不涉及XML配置,但基于注释或代码。

回答

2

这里是如何做到这一点的例子:

from("direct://PublishToRabbitMQ") 

     .setHeader("rabbitmq.ROUTING_KEY", constant("SOMEROUTINGKEY")) 
     .setHeader("rabbitmq.EXCHANGE_NAME",constant("EXCHANGE_NAME"))   
     .setHeader("timestamp", constant(new Date(System.currentTimeMillis()))) 
     .doTry() 
     .to("rabbitmq://localhost/EXCHANGE_NAME/?exchangeType=Topic&autoDelete=false&durable=false") 
     .convertBodyTo(String.class)  

    .end(); 

添加或删除参数,以满足您的需要。