我最近接管了一些Java代码,有一个方法接受一个对象,并基于该对象的一些属性对该对象执行一些处理。
我正在使用Apache Camel,并且能够定义一条完成相同任务的路由。我正在努力的是,我如何才能找到最简单的方法来将对象传递给路由并执行逻辑?我现在拥有的是一个
producerTemplate.sendBody("direct:blah", myObject) 并且路由本身定义了一个
from("direct:blah").process(...)上面的代码运行得很好,尽管比以前慢了一点。
这是替换方法逻辑的最简单方法吗?我希望能够抓取路由本身,并将一个对象传递给它以供执行,但我看不到任何方法可以做到这一点。
发布于 2016-12-01 04:33:49
你不一定需要from().process().,你也可以给你的方法注入一个端点。例如:
@Consume(uri = "direct:blah")
public void onFileSendToQueue(String body, @Header("CamelFileName") String name) {
LOG.info("Incoming file: {}", name);
producer.sendBody(body);
}你也可以对生产者做同样的事情。有关更多详细信息,请参阅Camel pojo消息。http://camel.apache.org/pojo-messaging-example.html
https://stackoverflow.com/questions/40895918
复制相似问题