Apache Camel:输出到AMQP的路由消息

时间:2016-02-24 08:13:27

标签: java json apache-camel amqp

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

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

我需要做什么:

  1. 配置amqp路由以发送输出(服务器凭据等)
  2. 确保路由可访问,因为我想处理错误配置。
  3. 我需要发送一个JSON。我是否必须将我的POJO编组为json作为字符串,还是可以使用一些自动转换?
  4. 我想做的所有事情都不涉及XML配置,而是基于注释或代码。

1 个答案:

答案 0 :(得分: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();

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