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

Apache Camel: output route message to AMQP

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

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

我需要做什么:

  1. 配置 amqp 路由以发送输出(服务器凭据等)
  2. 确保路由可访问,因为我想处理配置错误。
  3. 我需要发一个JSON。我是否必须将我的 POJO 作为字符串编组为 json,或者我可以使用一些自动转换吗?

我想做的所有事情都不会涉及 XML 配置,而是基于注释或代码。

这是一个如何操作的例子:

    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();

根据需要添加或删除参数。