public class PGXAConnection extends PGPooledConnection implements javax.sql.XAConnection, javax.transaction.xa.XAResource
XAResource.
This implementation doesn't support transaction interleaving (see JTA specification, section 3.4.4) and suspend/resume.
Two-phase commit requires PostgreSQL server version 8.1 or higher.
| Constructor and Description |
|---|
PGXAConnection(BaseConnection conn) |
| Modifier and Type | Method and Description |
|---|---|
void |
commit(javax.transaction.xa.Xid xid,
boolean onePhase) |
void |
end(javax.transaction.xa.Xid xid,
int flags)
Preconditions:
Flags is one of TMSUCCESS, TMFAIL, TMSUSPEND
xid != null
Connection is associated with transaction xid
|
void |
forget(javax.transaction.xa.Xid xid)
Does nothing, since we don't do heuristics.
|
java.sql.Connection |
getConnection()
XAConnection interface.
|
int |
getTransactionTimeout()
We don't do transaction timeouts.
|
javax.transaction.xa.XAResource |
getXAResource() |
boolean |
isSameRM(javax.transaction.xa.XAResource xares) |
int |
prepare(javax.transaction.xa.Xid xid)
Prepares transaction.
|
javax.transaction.xa.Xid[] |
recover(int flag)
Recovers transaction.
|
void |
rollback(javax.transaction.xa.Xid xid)
Preconditions:
xid is known to the RM or it's in prepared state
|
boolean |
setTransactionTimeout(int seconds)
We don't do transaction timeouts.
|
void |
start(javax.transaction.xa.Xid xid,
int flags)
Preconditions:
Flags must be one of TMNOFLAGS, TMRESUME or TMJOIN
xid != null
Connection must not be associated with a transaction
The TM hasn't seen the xid before
|
addConnectionEventListener, addStatementEventListener, close, createConnectionEvent, removeConnectionEventListener, removeStatementEventListenerpublic PGXAConnection(BaseConnection conn) throws java.sql.SQLException
java.sql.SQLExceptionpublic java.sql.Connection getConnection()
throws java.sql.SQLException
getConnection in interface javax.sql.PooledConnectiongetConnection in class PGPooledConnectionjava.sql.SQLExceptionpublic javax.transaction.xa.XAResource getXAResource()
getXAResource in interface javax.sql.XAConnectionpublic void start(javax.transaction.xa.Xid xid,
int flags)
throws javax.transaction.xa.XAException
Implementation deficiency preconditions:
Postconditions:
start in interface javax.transaction.xa.XAResourcejavax.transaction.xa.XAExceptionpublic void end(javax.transaction.xa.Xid xid,
int flags)
throws javax.transaction.xa.XAException
Implementation deficiency preconditions:
Postconditions:
end in interface javax.transaction.xa.XAResourcejavax.transaction.xa.XAExceptionpublic int prepare(javax.transaction.xa.Xid xid)
throws javax.transaction.xa.XAException
Implementation deficiency preconditions:
Postconditions:
prepare in interface javax.transaction.xa.XAResourcejavax.transaction.xa.XAExceptionpublic javax.transaction.xa.Xid[] recover(int flag)
throws javax.transaction.xa.XAException
Postconditions:
recover in interface javax.transaction.xa.XAResourcejavax.transaction.xa.XAExceptionpublic void rollback(javax.transaction.xa.Xid xid)
throws javax.transaction.xa.XAException
Implementation deficiency preconditions:
Postconditions:
rollback in interface javax.transaction.xa.XAResourcejavax.transaction.xa.XAExceptionpublic void commit(javax.transaction.xa.Xid xid,
boolean onePhase)
throws javax.transaction.xa.XAException
commit in interface javax.transaction.xa.XAResourcejavax.transaction.xa.XAExceptionpublic boolean isSameRM(javax.transaction.xa.XAResource xares)
throws javax.transaction.xa.XAException
isSameRM in interface javax.transaction.xa.XAResourcejavax.transaction.xa.XAExceptionpublic void forget(javax.transaction.xa.Xid xid)
throws javax.transaction.xa.XAException
forget in interface javax.transaction.xa.XAResourcejavax.transaction.xa.XAExceptionpublic int getTransactionTimeout()
getTransactionTimeout in interface javax.transaction.xa.XAResourcepublic boolean setTransactionTimeout(int seconds)
setTransactionTimeout in interface javax.transaction.xa.XAResourceCopyright © 2025 PostgreSQL Global Development Group. All rights reserved.