dynamic change endpoint camel

后端 未结 2 1773
孤城傲影
孤城傲影 2020-12-11 09:40

Is it possible to change from endpoint in dynamic way ? for example I want change

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

相关标签:
2条回答
  • 2020-12-11 10:06

    You would need to

    1. stop the route
    2. remove the route
    3. change the endpoint
    4. add the route
    5. start the route

    This allows you to change the from endpoint to whatever you want (for example something else)

    Some components / endpoint do allow to change options an have those being updated at runtime. For example the JMS endpoint allows this, so you can

    1. stop the route
    2. change an option on the jms endpoint
    3. start the route

    But there may be some components which cannot do that.

    0 讨论(0)
  • 2020-12-11 10:08

    to change the from endpoint, you can just dynamically add/remove routes via the context APIs or alter the route as Claus suggested

    to change destination endpoints, use the recipient list EIP and an Expression to dynamically determine the endpoint based on message headers, variables, methods, etc...

    from("direct:a")
         .recipientList(header("foo"));
    
    0 讨论(0)
提交回复
热议问题