我最近接手了一些Java代码,并且有一个方法接受了一个对象并基于该对象的某些属性,对该对象执行了一些处理。
我正在玩Apache Camel并且能够定义完成相同任务的路线。在我努力的地方,我怎样才能找到将对象传递给路径并执行逻辑的最简单方法?我现在拥有的是
producerTemplate.sendBody("direct:blah", myObject)
并且路线本身定义了
from("direct:blah").process(...)
上述工作正常,虽然比以前慢了一点。
这是替换方法逻辑的最简单方法吗?我希望能够抓住路线本身并将一个物体传递给它来执行,但我没有看到任何方法来做到这一点。
答案 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