如何回到生产者

时间:2017-01-10 16:07:54

标签: java apache-camel

我有一个PoducerTemplate。使用模板我想向路径发送消息。在路由中我想处理消息,然后我想得到结果。

制片人:

String response = producerTemplate.requestBody("direct:start", message, String.class);

路线:

from("direct:start").process(...).to(?);

问题是,路线应该如何,以便在流程后获得响应?

1 个答案:

答案 0 :(得分:1)

在考虑从路线获取响应时,有两种心态。一个是传统的Request/Reply模式。当路线的最后一步也遵循这种模式时,这是最合适的。典型的情况是Web服务调用或http请求。我们希望这些组件返回某些内容,这将是requestBody方法返回的值。

另一种方法是采用传统的单向路由,只返回最后Out条消息。这可以通过将Exchange Pattern设置为InOut来完成。这种情况的一个常见用例可能是确认最后一步放置的数据符合某些标准,或者可能用于审计目的。