2013-03-06 73 views
3

是否有可能以动态方式从端点变化? 比如我要改变动态变化端点驼峰

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

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

我尝试使用

camelContext.stopRoute(TestRoute.ROUTEID); 

变老端点到新的端点

camelContext.startRoute(TestRoute.ROUTEID); 

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

感谢您的帮助

回答

6

您将需要

  1. 停止路线
  2. 删除路线
  3. 变化端点
  4. 添加路由
  5. 启动路线

这可以让你从终端改变到任何你想要的(例如其他)

某些组件/端点允许更改opti有一些在运行时更新。例如,JMS端点允许这一点,所以你可以

  1. 停止路线
  2. 变化对JMS端点
  3. 一个选项启动路线

但可能会出现哪些不能某些组件去做。

1

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

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

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

我知道模式recipientList,但我想更改第一个端点 - 从,所以万一我不能使用recipientList。 – przodownikPracy 2013-03-07 06:37:04