0

我对 DMLC 和 JMSTemplate 中的事务有一些疑问。

  1. 如果我们不使用事务,Spring DMLC 是否使用回调异步接收消息?

  2. DMLC 在使用事务处理会话时是否也异步接收消息。(将 sessionTransacted 设置为 true)。将 sessionTransacted 设置为 true 后的行为是什么?

3、从消费者的角度来看AUTO_ACK和SESSION_TRANSACTED模式有什么区别。在 AUTO_ACK 模式下,DMLC 在收到消息后向代理发送确认。同样在 SESSION_TRANSACTED 模式下,DMLC 在收到每条消息后提交。就性能而言,哪种方式更好,有什么区别?

4 JMSTemplate 消息发送是否始终是同步的。即使它正在向主题发送非持久消息?

谢谢, 阿努杰

4

1 回答 1

0

不建议在没有交易的情况下使用 DMLC;使用 SMLC。

使用事务时,容器会在线程返回时提交会话。是的,它们是异步处理的。

使用自动确认和 DMLC,一旦接收()发生(并且在调用侦听器之前),会话就会被确认 - 因此它确实最适合事务。

  1. 这是 JMS 客户端库的一个功能,但通常是的;特别是如果使用事务。
于 2014-06-17T17:39:00.420 回答