2014-07-05 39 views
0

我有幾個關於春季DMLC的問題。春季DMLC消息消耗:auto_ack vs交易時段

  1. 爲什麼春季銷售商推薦使用帶有交易的DMLC(默認消息監聽器容器)?

Spring DLMC and JMSTemplate behavior while using Transactions

  • 在消費者側,如果我使用DMLC與sessionTransacted =假,它將默認使用ACTO_ACK模式。兩種情況(事務和AUTO_ACK)有什麼區別? 據我的瞭解,確認過程類似於我在兩種情況下:
  • 成交:一旦被消費者接收到的信息,提交將被髮送到代理和THN只券商將考慮消息已發送。

    Auto_Ack:這裏也對於消費者接收到的每條消息,消費者將確認發送給代理。

    如果我錯了,請糾正我。

    感謝,

    Anuj

    回答

    1

    隨着葉準直器和自動應答,該消息一旦它收到ACKED(和前的監聽器被調用)。

    隨着成交,會話承諾監聽器被調用;而且,如果監聽器引發異常(或者系統斷電),則事務被回滾(消息重新發送)。

    +0

    謝謝加里。這意味着性能明智的AUTO_ACK比交易更好?爲什麼春季供應商推薦使用DMLC(默認消息監聽器容器)和事務? –

    +0

    這完全取決於你的要求;如果你不在意丟失信息,那麼它會稍微快一點。如果你關心丟失信息,你需要交易。如果您不需要交易,請考慮使用'SimpleMessageListenerContainer'而不是'DMLC'。 –