Java 在AbstractMessageListenerContainerSpring框架中使用messageSelector

Java 在AbstractMessageListenerContainerSpring框架中使用messageSelector,java,spring,jms,spring-jms,Java,Spring,Jms,Spring Jms,我想使用类AbstractMessageListenerContainer.class中的messageSelector字符串,下面是我给出的XML配置 <bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="autoStartup" value="${listener.setup}" /&g

我想使用类AbstractMessageListenerContainer.class中的messageSelector字符串,下面是我给出的XML配置

<bean id="jmsContainer"
    class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="autoStartup" value="${listener.setup}" />
    <property name="connectionFactory" ref="connectionFactory" />
    <property name="destination" ref="paymentResponseQueue" />
    <property name="messageListener" ref="myAbstractListener" />

</bean>

<bean id="myAbstractListener"
    class="org.springframework.jms.listener.AbstractMessageListenerContainer">
    <property name="autoStartup" value="${listener.setup}" />
    <property name="connectionFactory" ref="connectionFactory" />
    <property name="destination" ref="paymentResponseQueue" />
    <property name="messageListener" ref="authorisationResponseHandler" />
<property name="messageSelector" value="JMSCorelationId = 'AMM--AS1-6e07c3092bc94f77a183889ababeabc2'" />
</bean>

在给出这个配置之后,当我启动tomcat时,我的应用程序没有启动

当我给出如下配置并启动tomcat时,我能够启动我的应用程序并按预期工作。xyzResponseHandler正在引用我正在实现的类文件

public class xyzResponseHandler implements MessageListener{

}

<bean id="jmsContainer"
    class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="autoStartup" value="${listener.setup}" />
    <property name="connectionFactory" ref="connectionFactory" />
    <property name="destination" ref="paymentResponseQueue" />
    <property name="messageListener" ref="xyzResponseHandler" />

</bean>
公共类xyzResponseHandler实现MessageListener{
}

我在第一个配置中做错了什么。如果我走错了方向,你能纠正我吗。基本上我想使用messageSelector过滤消息。

在DefaultMessageListenerContainer中,messageListener属性应该是标准JMS messageListener对象或Spring SessionWareMessageListener对象

请参阅下面的spring文档


但是您指的是另一个ListenerContainer的bean。

那么您的
消息选择器在哪里呢?你失败的应用程序的堆栈跟踪不会有任何影响。。。