spring-integration jms selector-expression

时间:2015-06-24 10:48:38

标签: jms spring-integration

似乎消息驱动通道适配器不支持selector-expression。

<int-jms:message-driven-channel-adapter 
            selector-expression="workerGroup = '@environment.getDeploymentEnvironment().toString()'"
            concurrent-consumers="1" 
            transaction-manager="transactionManager"
            destination="queue" channel="channel"/>

==&GT;

'selector-expression' is not allowed to appear in element 'int-jms:message-driven-channel-adapter'

关于如何使这项工作的任何提示。

2 个答案:

答案 0 :(得分:3)

您似乎正在尝试使用SpEL构建消息选择器。

必须在初始化期间定义选择器。

Spring Integration ...-expression属性用于何时在运行时计算表达式(通常针对消息),而不是在初始化时静态,正常的Spring #{...} SpEL用于此。

你应该可以使用......

selector-expression="workerGroup = #{environment.getDeploymentEnvironment().toString()}" 

...在初始化期间设置此选择器。

答案 1 :(得分:1)

我猜他们已经为消息驱动的渠道适配器添加了选择器,而不是选择器表达式。我没有尝试过,但我想它的工作方式与提供的文档相同。