如何在 Apache Camel 中从 Header 值设置 Queue 名称
How to set Queue name from Header value in Apache Camel
我试图从 header 值设置 activemq queue 名称,但它没有发生在下面是我的
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 值正在日志中打印,但 queue 名称设置为“${header.x-so-queue-name}” 为什么它不检索值header,我是不是做错了什么
将 'x-so-queue-name' header 名称替换为名为 'CamelJmsDestinationName'
的 header
然后在 uri 中,删除 ${header.x-so-queue-name}.. 你可以输入任何你想要的 queue 名称,因为 ActiveMQ 组件将查看 header 以确定目标名称。我通常使用下面的,作为我在路由中使用动态 queue 命名的提醒:
我试图从 header 值设置 activemq queue 名称,但它没有发生在下面是我的 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 值正在日志中打印,但 queue 名称设置为“${header.x-so-queue-name}” 为什么它不检索值header,我是不是做错了什么
将 'x-so-queue-name' header 名称替换为名为 'CamelJmsDestinationName'
的 header
然后在 uri 中,删除 ${header.x-so-queue-name}.. 你可以输入任何你想要的 queue 名称,因为 ActiveMQ 组件将查看 header 以确定目标名称。我通常使用下面的,作为我在路由中使用动态 queue 命名的提醒: