动态变化的端点骆驼(dynamic change endpoint camel)

2019-07-21 02:35发布

是否有可能从端点改变动态的方式? 比如我想改变

for(endpointFirst).routeId(ROUTEID).to(finishEndpoint);

for(endpointSecond).routeId(ROUTEID).to(finishEndpoint);

我尝试使用

camelContext.stopRoute(TestRoute.ROUTEID);

改变旧的端点到新的端点

camelContext.startRoute(TestRoute.ROUTEID);

但我的努力不能正常工作。

谢谢你的帮助

Answer 1:

您将需要

  1. 停止路线
  2. 删除路径
  3. 更改端点
  4. 添加路由
  5. 启动路线

这可以让你改变从端点到任何你想要的(例如别的东西)

一些组件/端点都允许修改选项的有那些在运行时被更新。 例如,JMS端点允许这一点,这样你就可以

  1. 停止路线
  2. 改变对JMS端点的选项
  3. 启动路线

但可能有一些组件无法做到这一点。



Answer 2:

改变from端点,你可以通过动态的环境API添加/删除路由或改变航线的克劳斯建议

改变目的地端点,使用收件人列表 EIP和表达来动态确定基于邮件标题,变量,方法等方面的终点......

from("direct:a")
     .recipientList(header("foo"));


文章来源: dynamic change endpoint camel