org.ofbiz.entity.transaction
Class GenericXaResource
java.lang.Object
java.lang.Thread
org.ofbiz.entity.transaction.GenericXaResource
- All Implemented Interfaces:
- java.lang.Runnable, javax.transaction.xa.XAResource
- Direct Known Subclasses:
- DebugXaResource, ServiceXaWrapper
public abstract class GenericXaResource
- extends java.lang.Thread
- implements javax.transaction.xa.XAResource
GenericXaResource - Abstract XA Resource implementation supporting a single transaction
Nested classes/interfaces inherited from class java.lang.Thread |
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler |
Field Summary |
protected boolean |
active
|
static java.lang.String |
module
|
protected java.lang.Integer |
timeout
timeout is an Integer and defaults to null so that we know if it is set on this object; if it isn't set we won't worry about the warning message, etc because we don't know what the real timeout is |
protected Transaction |
trans
|
protected javax.transaction.xa.Xid |
xid
|
Fields inherited from class java.lang.Thread |
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
Fields inherited from interface javax.transaction.xa.XAResource |
TMENDRSCAN, TMFAIL, TMJOIN, TMNOFLAGS, TMONEPHASE, TMRESUME, TMSTARTRSCAN, TMSUCCESS, TMSUSPEND, XA_OK, XA_RDONLY |
Method Summary |
abstract void |
commit(javax.transaction.xa.Xid xid,
boolean onePhase)
|
void |
end(javax.transaction.xa.Xid xid,
int flag)
|
void |
enlist()
Enlists this resource in the current transaction |
void |
enlist(Transaction tx)
Enlists this resource in the current transaction |
void |
forget(javax.transaction.xa.Xid xid)
|
Transaction |
getTransaction()
|
int |
getTransactionTimeout()
|
javax.transaction.xa.Xid |
getXid()
|
boolean |
isSameRM(javax.transaction.xa.XAResource xaResource)
|
int |
prepare(javax.transaction.xa.Xid xid)
|
javax.transaction.xa.Xid[] |
recover(int flag)
|
abstract void |
rollback(javax.transaction.xa.Xid xid)
|
void |
run()
|
void |
runOnTimeout()
Method which will run when the transaction times out |
void |
setTransaction(Transaction t)
|
boolean |
setTransactionTimeout(int seconds)
|
void |
start(javax.transaction.xa.Xid xid,
int flag)
|
Methods inherited from class java.lang.Thread |
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
module
public static final java.lang.String module
trans
protected Transaction trans
active
protected boolean active
timeout
protected java.lang.Integer timeout
- timeout is an Integer and defaults to null so that we know if it is set on this object; if it isn't set we won't worry about the warning message, etc because we don't know what the real timeout is
xid
protected javax.transaction.xa.Xid xid
GenericXaResource
public GenericXaResource()
enlist
public void enlist()
throws javax.transaction.xa.XAException
- Enlists this resource in the current transaction
- Throws:
javax.transaction.xa.XAException
enlist
public void enlist(Transaction tx)
throws javax.transaction.xa.XAException
- Enlists this resource in the current transaction
- Throws:
javax.transaction.xa.XAException
start
public void start(javax.transaction.xa.Xid xid,
int flag)
throws javax.transaction.xa.XAException
- Specified by:
start
in interface javax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
- See Also:
XAResource.start(javax.transaction.xa.Xid xid, int flag)
end
public void end(javax.transaction.xa.Xid xid,
int flag)
throws javax.transaction.xa.XAException
- Specified by:
end
in interface javax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
- See Also:
XAResource.end(javax.transaction.xa.Xid xid, int flag)
forget
public void forget(javax.transaction.xa.Xid xid)
throws javax.transaction.xa.XAException
- Specified by:
forget
in interface javax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
- See Also:
XAResource.forget(javax.transaction.xa.Xid xid)
prepare
public int prepare(javax.transaction.xa.Xid xid)
throws javax.transaction.xa.XAException
- Specified by:
prepare
in interface javax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
- See Also:
XAResource.prepare(javax.transaction.xa.Xid xid)
recover
public javax.transaction.xa.Xid[] recover(int flag)
throws javax.transaction.xa.XAException
- Specified by:
recover
in interface javax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
- See Also:
XAResource.recover(int flag)
isSameRM
public boolean isSameRM(javax.transaction.xa.XAResource xaResource)
throws javax.transaction.xa.XAException
- Specified by:
isSameRM
in interface javax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
- See Also:
XAResource.isSameRM(javax.transaction.xa.XAResource xaResource)
getTransactionTimeout
public int getTransactionTimeout()
throws javax.transaction.xa.XAException
- Specified by:
getTransactionTimeout
in interface javax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
- See Also:
XAResource.getTransactionTimeout()
setTransactionTimeout
public boolean setTransactionTimeout(int seconds)
throws javax.transaction.xa.XAException
- Specified by:
setTransactionTimeout
in interface javax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
- See Also:
Note: the valus is saved but in the current implementation this is not used.
getTransaction
public Transaction getTransaction()
setTransaction
public void setTransaction(Transaction t)
getXid
public javax.transaction.xa.Xid getXid()
commit
public abstract void commit(javax.transaction.xa.Xid xid,
boolean onePhase)
throws javax.transaction.xa.XAException
- Specified by:
commit
in interface javax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
- See Also:
XAResource.commit(javax.transaction.xa.Xid xid, boolean onePhase)
rollback
public abstract void rollback(javax.transaction.xa.Xid xid)
throws javax.transaction.xa.XAException
- Specified by:
rollback
in interface javax.transaction.xa.XAResource
- Throws:
javax.transaction.xa.XAException
- See Also:
XAResource.rollback(javax.transaction.xa.Xid xid)
runOnTimeout
public void runOnTimeout()
- Method which will run when the transaction times out
run
public void run()
- Specified by:
run
in interface java.lang.Runnable
- Overrides:
run
in class java.lang.Thread