我试图从标题值设置activemq队列名称,但下面没有发生的是我的 Spring DSL
<setHeader headerName="x-so-queue-name" id="_setHeader1">
<xpath resultType="java.lang.String">/Message/@IntObjectName</xpath>
</setHeader>
<log id="_log1" message="x-so-queue-name::: ${header.x-so-queue-name}"/>
<to id="_to1" uri="activemq:queue:${header.x-so-queue-name}"/>
日志 16:03:57,601 |信息| _route1 | x-so-queue-name ::: IDC_SO_Refill_IO
标题值在日志中打印,但队列名称设置为&#34; $ {header.x-so-queue-name}&#34;为什么它没有检索标题的值,我做错了什么
答案 0 :(得分:2)
将'x-so-queue-name'标题名称替换为名为'CamelJmsDestinationName'的标题
然后在uri中删除$ {header.x-so-queue-name} ..您可以放置所需的任何队列名称,因为ActiveMQ组件将查看标头以确定目标名称。我通常使用下面的内容,提醒我在路由中使用动态队列命名: