似乎消息驱动通道适配器不支持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'
关于如何使这项工作的任何提示。
答案 0 :(得分:3)
您似乎正在尝试使用SpEL构建消息选择器。
必须在初始化期间定义选择器。
Spring Integration ...-expression
属性用于何时在运行时计算表达式(通常针对消息),而不是在初始化时静态,正常的Spring #{...}
SpEL用于此。
你应该可以使用......
selector-expression="workerGroup = #{environment.getDeploymentEnvironment().toString()}"
...在初始化期间设置此选择器。
答案 1 :(得分:1)
我猜他们已经为消息驱动的渠道适配器添加了选择器,而不是选择器表达式。我没有尝试过,但我想它的工作方式与提供的文档相同。