我正在尝试使用以下配置实现 spring jms:
<bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory"/>
<property name="sessionAcknowledgeMode" value="2"/>
<property name="destination" ref="responseQueue"/>
<property name="messageListener" ref="adminListener" />
</bean>
我的消息监听器正在实现 SessionAwareMessageListener
在我的 onmessage(msg, session)
我正在检查确认,它正在打印 acknowlegemnt=1[AUTO] 即使我在 spring 配置中设置客户端确认。
目标bean代码:
Connection con=connectionFactory().createConnection();
Session session_Temp=con.createSession(false, Session.CLIENT_ACKNOWLEDGE);
logger.info("session listener in listenerQueue method="+session_Temp.getMessageListener().toString());
这也返回确认= 1,如果我将其更改为 Session.Dups_ok,我可以看到它的打印 3。
我不明白为什么我不能设置带有客户端确认的消息侦听器。
任何帮助都将不胜感激。
谢谢