2

我正在尝试使用以下配置实现 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。

我不明白为什么我不能设置带有客户端确认的消息侦听器。

任何帮助都将不胜感激。

谢谢

4

0 回答 0