【问题标题】:spring-integration jms selector-expression弹簧集成 jms 选择器表达式
【发布时间】: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'

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

【问题讨论】:

    标签: jms spring-integration


    【解决方案1】:

    我猜他们为 message-driven-channel-adapter 添加了 selector 而不是 selector-expression。我还没有尝试过,但我猜它的工作原理与提供的文档相同。

    【讨论】:

      【解决方案2】:

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

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

      Spring Integration ...-expression 属性用于在运行时评估表达式(通常针对消息),而不是在初始化期间静态评估,普通 Spring #{...} SpEL 用于此。

      你应该可以使用...

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-08
        • 1970-01-01
        相关资源
        最近更新 更多