Apache camel 将变量添加到RoutedFination“中”;从「;在阿帕奇骆驼

Apache camel 将变量添加到RoutedFination“中”;从「;在阿帕奇骆驼,apache-camel,apache-camel-cdi,Apache Camel,Apache Camel Cdi,我希望修改Apache Camel中的RouteDefinition 我的财产档案如下 test1=测试 队列1=队列 代码如下 from( "activemq:queue:{{test1}}.{{queue1}}") .transform() .simple(" ${body} {{test1}}.{{queue1}}.hello ${date:now:yyyyMMdd}") .to("stream:out"); 这将成为路线的一部分 from( "activemq:queue:test1.

我希望修改Apache Camel中的RouteDefinition

我的财产档案如下 test1=测试 队列1=队列

代码如下

from( "activemq:queue:{{test1}}.{{queue1}}")
.transform()
.simple(" ${body} {{test1}}.{{queue1}}.hello ${date:now:yyyyMMdd}")
.to("stream:out");
这将成为路线的一部分

from( "activemq:queue:test1.queue")
我希望它能成为

from( "activemq:queue:test1.queue_20170606")

它是${date:now:yyyyMMdd}

这在Camel中是不可能的-from端点是静态的

但是,ActiveMQ支持队列通配符,您可以使用这些通配符从多个队列中使用,并且可以使用JMS消息选择器

后者的性能不如它需要在队列上执行查询


如果您希望按照yyyyMMdd执行路由,则需要在Camel中动态添加/删除路由。请参阅关于如何执行此操作的其他问题。

不清楚执行此操作的目的是什么?您是否每天都尝试创建新队列?为什么?也许修改您的系统设计是好的?