1

First, are those protocols ? or transaction types ? Second, what's the main differences between them ? This is what oracle talks about Last Logging Resource:

With this option, the transaction branch in which the connection is used is processed as the >last resource in the transaction and is processed as a one-phase commit operation. The >result of the operation is written in a log file on the resource itself, and the result >determines the success or failure of the prepare phase of the transaction.

And about Emulate Two-Phase Commit

With this option, the transaction branch in which the connection is used always returns >success for the prepare phase of the transaction.

Not quite clear about this, someone please help me to make it clear. Thanks for your time.

user2327348
  • 57
  • 1
  • 3
  • 10

1 Answers1

1

This all has to do with how gobal transactions (XA) works:

Understanding the Emulate Two-Phase Commit Transaction Option

If you need to support distributed transactions with a JDBC data source, but there is no available XA-compliant driver for your DBMS, you can select the Emulate Two-Phase Commit for non-XA Driver option for a data source to emulate two-phase commit for the transactions

Understanding the Logging Last Resource Transaction Option

WebLogic Server supports the Logging Last Resource (LLR) transaction optimization through JDBC data sources. LLR is a performance enhancement option that enables one non-XA resource to participate in a global transaction with the same ACID guarantee as XA. LLR is a refinement of the "Last Agent Optimization." It differs from Last Agent Optimization in that it is transactionally safe.


You will almost always want to use LLR unless that is just not an option because of your jdbc driver. Note in the links there is no 'advantages' section for 2 phase commit emulation.

Understanding emulate 2 phase commite

Understanding LLR

Display Name is missing
  • 6,197
  • 3
  • 34
  • 46