public class PGXAConnection extends PGPooledConnection implements XAConnection, XAResource
XAConnection
and 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.TMENDRSCAN, TMFAIL, TMJOIN, TMNOFLAGS, TMONEPHASE, TMRESUME, TMSTARTRSCAN, TMSUCCESS, TMSUSPEND, XA_OK, XA_RDONLY
Constructor and Description |
---|
PGXAConnection(PGConnectionImpl conn) |
Modifier and Type | Method and Description |
---|---|
void |
commit(Xid xid,
boolean onePhase) |
void |
end(Xid xid,
int flags)
Preconditions:
1.
|
void |
forget(Xid xid)
Does nothing, since we don't do heuristics,
|
Connection |
getConnection()
Gets a handle for a client to use.
|
int |
getTransactionTimeout()
We don't do transaction timeouts.
|
XAResource |
getXAResource() |
boolean |
isSameRM(XAResource xares) |
int |
prepare(Xid xid)
Preconditions:
1.
|
Xid[] |
recover(int flag)
Preconditions:
1.
|
void |
rollback(Xid xid)
Preconditions:
1.
|
boolean |
setTransactionTimeout(int seconds)
We don't do transaction timeouts.
|
void |
start(Xid xid,
int flags)
Preconditions:
1.
|
addConnectionEventListener, addStatementEventListener, close, createConnectionEvent, createStatementEvent, fireConnectionError, removeConnectionEventListener, removeStatementEventListener
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addConnectionEventListener, addStatementEventListener, close, removeConnectionEventListener, removeStatementEventListener
public PGXAConnection(PGConnectionImpl conn) throws SQLException
SQLException
public Connection getConnection() throws SQLException
PGPooledConnection
According to the JDBC 2.0 Optional Package spec (6.2.3), only one client may have an active handle to the connection at a time, so if there is a previous handle active when this is called, the previous one is forcibly closed and its work rolled back.
getConnection
in interface PooledConnection
getConnection
in class PGPooledConnection
SQLException
public XAResource getXAResource()
getXAResource
in interface XAConnection
public void start(Xid xid, int flags) throws XAException
start
in interface XAResource
XAException
public void end(Xid xid, int flags) throws XAException
end
in interface XAResource
XAException
public int prepare(Xid xid) throws XAException
prepare
in interface XAResource
XAException
public Xid[] recover(int flag) throws XAException
recover
in interface XAResource
XAException
public void rollback(Xid xid) throws XAException
rollback
in interface XAResource
XAException
public void commit(Xid xid, boolean onePhase) throws XAException
commit
in interface XAResource
XAException
public boolean isSameRM(XAResource xares) throws XAException
isSameRM
in interface XAResource
XAException
public void forget(Xid xid) throws XAException
forget
in interface XAResource
XAException
public int getTransactionTimeout()
getTransactionTimeout
in interface XAResource
public boolean setTransactionTimeout(int seconds)
setTransactionTimeout
in interface XAResource
Copyright © 2013-2015 impossibl.com. All Rights Reserved.