You configure a data source with a non XA driver because your (non-Oracle) database does not
provide XA drivers.
The data source will sometimes participate in global transactions with an EJB, so as you configure
the data source you select “Supports Global Transactions” and One-phase commit.
Why is this configuration wrong?
A.
You must choose an XA driver when a data source participates In global transactions.
B.
“One’Phase Commit” always returns “ready” duringphase one ofthe two-phase commit process’
so it is possible you will have heuristic errors in thedatabase.
C.
“One-Phase Commit” processes this data source last In the global transactions,if the EJB must
go last, you cannotuse this configuration.
D.
“One-Phase Commit” only allows this datasource to participate in global transaction, so
youcannothave a global transaction that includes an EJB.
D is the correct Answer. If we wish to use EJB in the Global transactions, we should either use the XA driver or the Enable Two-Phase commit in the Support Global transactions for non-XA driver.
D
Yup. The right answer is D as Madhu K point out:
http://docs.oracle.com/cd/E23943_01/web.1111/e13737/transactions.htm#JDBCA470
For XA drivers, the system automatically selects the Two-Phase Commit protocol for global transaction processing.