Spring DMLC消息使用:auto_ack vs Transacted Session

时间:2014-07-05 13:17:19

标签: spring transactions spring-integration

我有几个关于弹簧DMLC的问题。

  1. 为什么Spring供应商建议将DMLC(默认消息侦听器容器)与事务一起使用?
  2. Spring DLMC and JMSTemplate behavior while using Transactions

    1. 在消费者方面,如果我使用带有sessionTransacted = false的DMLC,默认情况下它将使用ACTO_ACK模式。两种情况(Transactions和AUTO_ACK)之间有什么区别? 根据我的理解,在这两种情况下,确认过程看起来与我类似:
    2. 已处理:只要消费者收到消息,就会向代理发送提交,并且只有代理会将消息视为已发送。

      Auto_Ack :此处,对于消费者收到的每条消息,消费者也会向经纪人发送确认。

      如果我错了,请纠正我。

      谢谢,

      Anuj

1 个答案:

答案 0 :(得分:1)

使用DMLC和自动确认消息,一旦收到消息就会被激活(并且之前调用侦听器)。

使用交易,会话在> 调用侦听器后提交;并且,如果侦听器抛出异常(或系统断电),则回滚事务(消息重新排队)。