7.3. 返回地址

返回地址

Apache Camel 支持使用 JMSReplyTo 标头从 Enterprise Integration Patterns 中的 返回地址

return address solution

例如,在将 JMSInOut 搭配使用时,组件默认返回到 JMSReplyTo 中给出的地址。

示例

请求者代码

 getMockEndpoint("mock:bar").expectedBodiesReceived("Bye World");
 template.sendBodyAndHeader("direct:start", "World", "JMSReplyTo", "queue:bar");

使用 Fluent Builder 的路由

 from("direct:start").to("activemq:queue:foo?preserveMessageQos=true");
 from("activemq:queue:foo").transform(body().prepend("Bye "));
 from("activemq:queue:bar?disableReplyTo=true").to("mock:bar");

使用 Spring XML 扩展的路由

 <route>
   <from uri="direct:start"/>
   <to uri="activemq:queue:foo?preserveMessageQos=true"/>
 </route>

 <route>
   <from uri="activemq:queue:foo"/>
   <transform>
       <simple>Bye ${in.body}</simple>
   </transform>
 </route>

 <route>
   <from uri="activemq:queue:bar?disableReplyTo=true"/>
   <to uri="mock:bar"/>
 </route>

有关此模式的完整示例,请参阅此 JUnit 测试案例