Java 在AbstractMessageListenerContainerSpring框架中使用messageSelector
我想使用类AbstractMessageListenerContainer.class中的messageSelector字符串,下面是我给出的XML配置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
<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。那么您的
消息选择器在哪里呢?你失败的应用程序的堆栈跟踪不会有任何影响。。。