直接执行骆驼路线

时间:2016-11-30 18:45:31

标签: java apache-camel

我最近接手了一些Java代码,并且有一个方法接受了一个对象并基于该对象的某些属性,对该对象执行了一些处理。

我正在玩Apache Camel并且能够定义完成相同任务的路线。在我努力的地方,我怎样才能找到将对象传递给路径并执行逻辑的最简单方法?我现在拥有的是

producerTemplate.sendBody("direct:blah", myObject) 

并且路线本身定义了

from("direct:blah").process(...)

上述工作正常,虽然比以前慢了一点。

这是替换方法逻辑的最简单方法吗?我希望能够抓住路线本身并将一个物体传递给它来执行,但我没有看到任何方法来做到这一点。

1 个答案:

答案 0 :(得分:1)

您不一定需要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