弹簧集成 jms 选择器表达式
Posted
技术标签:
【中文标题】弹簧集成 jms 选择器表达式【英文标题】:spring-integration jms selector-expression 【发布时间】:2015-09-10 12:53:23 【问题描述】:消息驱动的通道适配器似乎不支持选择器表达式。
<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'
关于我如何使这项工作的任何提示。
【问题讨论】:
【参考方案1】:我猜他们为 message-driven-channel-adapter 添加了 selector 而不是 selector-expression。我还没有尝试过,但我猜它的工作原理与提供的文档相同。
【讨论】:
【参考方案2】:您似乎正在尝试使用 SpEL 来构建您的消息选择器。
选择器必须在初始化期间定义。
Spring Integration ...-expression
属性用于在运行时评估表达式(通常针对消息),而不是在初始化期间静态评估,普通 Spring #...
SpEL 用于此。
你应该可以使用...
selector-expression="workerGroup = #environment.getDeploymentEnvironment().toString()"
...在初始化期间设置此选择器。
【讨论】:
以上是关于弹簧集成 jms 选择器表达式的主要内容,如果未能解决你的问题,请参考以下文章