0

我试图从标头值设置 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

标头值正在日志中打印,但队列名称设置为“$ {header.x-so-queue-name}”为什么它没有检索标头的值,我做错了什么

在此处输入图像描述

4

1 回答 1

3
  1. 将“x-so-queue-name”标题名称替换为名为“CamelJmsDestinationName”的标题

  2. 然后在 uri 中,删除 ${header.x-so-queue-name}.. 您可以放置​​任何您想要的队列名称,因为 ActiveMQ 组件将查看标头以确定目标名称。我通常使用以下内容,以提醒我在路由中使用动态队列命名:

参考:Camel JMS 组件(搜索 CamelJmsDestinationName)

于 2017-07-05T16:15:23.603 回答