Delivery of JMS message before the transaction is committed

后端 未结 1 1892
臣服心动
臣服心动 2020-12-01 09:44

I have a very simple scenario involving a database and a JMS in an application server (Glassfish). The scenario is dead simple:

         


        
相关标签:
1条回答
  • 2020-12-01 10:05

    You are experiencing the classic XA 2-PC race condition. It does happen in production environments.

    There are 3 things coming to my mind.

    1. Last agent optimization where JDBC is the non-XA resource.(Lose recovery semantics)
    2. Have JMS Time-To-Deliver. (Deliberately Lose real time)
    3. Build retries into JDBC code. (Least effect on functionality)

    Weblogic has this LLR optimization avoids this problem and gives you all XA guarantees.

    0 讨论(0)
提交回复
热议问题