spring-集成jms选择器-表达式
spring-integration jms selector-expression
消息驱动通道适配器似乎不支持选择器表达式。
<int-jms:message-driven-channel-adapter
selector-expression="workerGroup = '@environment.getDeploymentEnvironment().toString()'"
concurrent-consumers="1"
transaction-manager="transactionManager"
destination="queue" channel="channel"/>
==>
'selector-expression' is not allowed to appear in element 'int-jms:message-driven-channel-adapter'
关于我如何完成这项工作的任何提示。
我猜他们为 message-driven-channel-adapter[ 添加了 selector 而不是 selector-expression =15=]。我没试过,但我想它的工作原理与提供的文档相同。
您似乎正在尝试使用 SpEL 构建消息选择器。
选择器必须在初始化时定义。
Spring 集成 ...-expression
属性适用于在运行时计算表达式(通常针对消息),而不是在初始化期间静态计算,正常 Spring #{...}
SpEL用于此。
您应该可以使用...
selector-expression="workerGroup = #{environment.getDeploymentEnvironment().toString()}"
...在初始化期间设置此选择器。
消息驱动通道适配器似乎不支持选择器表达式。
<int-jms:message-driven-channel-adapter
selector-expression="workerGroup = '@environment.getDeploymentEnvironment().toString()'"
concurrent-consumers="1"
transaction-manager="transactionManager"
destination="queue" channel="channel"/>
==>
'selector-expression' is not allowed to appear in element 'int-jms:message-driven-channel-adapter'
关于我如何完成这项工作的任何提示。
我猜他们为 message-driven-channel-adapter[ 添加了 selector 而不是 selector-expression =15=]。我没试过,但我想它的工作原理与提供的文档相同。
您似乎正在尝试使用 SpEL 构建消息选择器。
选择器必须在初始化时定义。
Spring 集成 ...-expression
属性适用于在运行时计算表达式(通常针对消息),而不是在初始化期间静态计算,正常 Spring #{...}
SpEL用于此。
您应该可以使用...
selector-expression="workerGroup = #{environment.getDeploymentEnvironment().toString()}"
...在初始化期间设置此选择器。