Apache Camel:将路由消息输出到 AMQP
Apache Camel: output route message to AMQP
我是 Apache Camel 的新手,正在寻找一种将路由输出定向到 AMQP 的方法。
我可以自己编写一个例程来发送到 AMQP,但我正在寻找如何在声明路由时使用 Camel .to() 来完成的建议?网上很难找到完整的例子。
我需要做什么:
- 配置 amqp 路由以发送输出(服务器凭据等)
- 确保路由可访问,因为我想处理配置错误。
- 我需要发一个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();
根据需要添加或删除参数。
我是 Apache Camel 的新手,正在寻找一种将路由输出定向到 AMQP 的方法。
我可以自己编写一个例程来发送到 AMQP,但我正在寻找如何在声明路由时使用 Camel .to() 来完成的建议?网上很难找到完整的例子。
我需要做什么:
- 配置 amqp 路由以发送输出(服务器凭据等)
- 确保路由可访问,因为我想处理配置错误。
- 我需要发一个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();
根据需要添加或删除参数。