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.
ANS: D
B
Answer: Option D
Reference: https://docs.oracle.com/cd/E23943_01/web.1111/e13737/transactions.htm#JDBCA145
D
One-Phase Commit: (selected by default) With this option, a connection from the data source can be the only participant in the global transaction and the transaction is completed using a one-phase commit optimization.
“If more than one resource participates in the transaction, an exception is thrown when the transaction manager calls XAResource.prepare on the 1PC resource.”