Clear transaction from this thread if not known.
cney speed up the clock x1000 when shutting down
update all timers in the list
each timer expired is put in a special list of expired timers
they will be processed then by the Batch Thread.
Sub-coordinator received commit from its superior.
Commits the transaction associated with the current thread.
Complete the transaction represented by this Transaction object
The calling thread is not required to have the same transaction
associated with the thread.
Commits the global transaction specified by xid.
Sub-coordinator received commit_one_phase from its superior.
This method is called by the resource manager when a logical connection
that was opened without transaction context is closed.
This method is called by the resource manager when a logical connection
that was opened without transaction context is about to throw an
exception.
This method is called by the resource manager when a
getConnection
call is made without a transaction
context.
OTS-like Control interface.
Implementation of the object that represents a transaction.
Create a new Control implementation on JTM.
Current
is the common implementation for both
UserTransaction
and TransactionManager
.
Constructor for an application server.
Gets the Coordinator object for this transaction
Gets the current status of this transaction
Gets the Terminator object for this transaction
Gets a String that represents the transaction name.
Gets a String that represents the inflow transaction name.
Get all Transactions that may require recovery.
Get all executing transactions.
Get all XAResources that may require recovery.
Get all Xid's associated with this transaction.
Get the Branch Qualifier for that Xid
Get the Branch Qualifier for that Xid
Get the control associated with the transaction
get the Control of the Transaction.
Get the coordinator associated with the transaction
get the Coordinator of the transaction.
Returns the unique instance of the class or null
if not
initialized in case of plain client.
Gets the default recovery value
Gets the default timeout value
Get the format id for that Xid
Get the format id for that Xid
Get the Global Id for that Xid
Get the Global Id for that Xid
Get an instance of the TimerManager
Returns the unique instance of the class or null
if not
initialized.
Returns the TMFactory (in JTM)
Get the Xid's of all prepared transactions.
Get the transaction context associated with the current thread or null
if the thread is not involved in a transaction.
Return associated PropagationContext
Used for implicit Context propagation.
Returns the unique instance of the class or null
if not
initialized.
Retrieves the Reference
of this object.
Returns a request context.
Returns the index of the Resource Manager's XAResource.
Returns the status of the transaction associated with the current
thread.
return the status of this transaction
Obtain the status of the transaction associated with the current thread.
Get the Terminator associated with the transaction
get the Terminator of the transaction.
Get the timeout associated with the transaction
Returns the total number of begun transactions.
Returns the total number of committed transactions.
Returns the current number of transactions.
Returns the total number of rolled back transactions due to timeout.
Returns the total number of rolled back transactions.
Gets the transaction object that represents the transaction context of
the calling thread.
get the transaction context
Gets the TransactionManager
instance.
returns a TransactionManager
object.
Returns the Transaction Recovery object
returns a TransactionRecoveryImpl
object.
Returns the unique instance of the class or null
if not
initialized in case of plain client.
Get the transaction referenced by Xid.
get the date time stamp for the transaction
Returns the unique instance of the class or null
if not
initialized.
Returns the components required to create a new
TSHandler
instance.
Returns an UserTransaction
object.
Gets the inflow transaction object that represents the transaction context of
the calling thread.
Get the Xid associated with the transaction
get the Xid of the transaction.
Get the Xid of the transaction
This method is called by the services handler to let the operations
related to the target service be performed on reply arrival.
This method is called by the services handler to let the operations
related to the target service be performed on request arrival.
return a hashcode value for this object
return a hashcode value for this object
return a hashcode value for this object
This exception is thrown by the rollback operation on a resource to
report that a heuristic decision was made and that all relevant updates
have been committed.
This exception comes from the OTS specification.
This exception is thrown to report that a heuristic decision was made and
that some relevant updates have been committed and others have been
rolled back.
This exception comes from the OTS specification.
write the Commit record to the Howl Log
write the Done record to the Howl Log
Xid implementation for JTA
XID has the following format as defined by X/Open Specification:
XID
long formatId format identifier
long gtrid_length value 1-64
long bqual_length value 1-64
byte data [XIDDATASIZE] where XIDDATASIZE = 128
The data field comprises at most two contiguous components:
a global transaction identifier (gtrid) and a branch qualifier (bqual)
which are defined as:
byte gtrid [1-64] global transaction identfier
byte bqual [1-64] branch qualifier
Build an javax.transaction.xa.Xid from the org.objectweb.jotm.Xid
This class represents an instance of JOTM.
jotm - static field in class org.objectweb.jotm.
TraceTm logger for general JOTM operations
Public constructor for Jotm.
JOTM_LOG_PREFIX used to identify JOTM loggers
jta - static field in class org.objectweb.jotm.
TraceTm logger for JTA operations
Class JTAClientTransactionInterceptor
is a JRMP Transaction client interceptor for
Transaction Context propagation
Class JTAInterceptorInitializer
is a JRMP Initiliazer
for Transaction context propagation
Class JTAServerTransactionInterceptor
is a JRMP Transaction server interceptor for
Transaction Context propagation
Class JTATransactionServiceContext
is a JRMP Class for Transaction
Context Propagation
empty constructor for extarenalizable
readExternal to initialise Transaction context
Processes an XACOMMIT entry (putCommit) that does not have an associated
XADONE entry (putDone).
Receive reply interception
Receive reply interception
Sender is receiving a reply with an attached propagation context.
Receiver is receiving a request with an attached propagation context.
Obtains a list of prepared transaction branches from a resource manager.
Recover a Resource Manager with the JOTM Transaction Manager.
logger for recovery and log related operations
Recreate locally a Control object for an existing transaction.
Registers a Resource object for this transaction
Registers a Synchronization object for this transaction
Register a Resource Manager with the JOTM Transaction Manager.
Register a Resource Manager with the JOTM Transaction Manager.
Register a synchronization object for the transaction currently
associated with the calling thread.
remove a timer from the list.
Asks the status of this transaction, after recovery of a Resource
Provide information regarding the status and state of the XAResource.
Provide information regarding the status and state of the XAResource.
Resets total number of transactions.
This interface must be implemented by objects that will be
registered to the JTM Coordinator.
A ResourceManagerEvent
allows late enrolment of connections that
are opened in the thread before the transaction starts.
A ResourceManagerEventListener
allows late enrolment of
connections that are opened in the thread before the transaction starts.
Restart timer to its initial value
Resumes the transaction context association of the calling thread with
the transaction represented by the supplied Transaction object.
Return XAResource back to the application Server from JOTM
Resource Managers currently registered.
Rolls back this transaction branch.
Rolls back the transaction associated with the current thread.
rollback the transaction.
Rollback the transaction represented by this Transaction object.
Informs the resource manager to roll back work done on behalf of a transaction branch.
Asks to rollback the transaction
run() - method in class org.objectweb.jotm.
Main used as shutdown hook
send client transaction context with the request, if existed.
send client context with the request.
Receiver is sending a reply.
Sender is sending a request.
Set the coordinator associated with the transaction
set the Coordinator of the transaction.
Sets the default recovery value
Sets the default timeout value
Set a flag in the context to indicate as coming from another Vendor
Set a flag in the context to indicate as coming from another Vendor
Associate to the current thread a transaction represented by its
transaction context.
Modify the transaction associated with the current thread such that the
only possible outcome of the transaction is to roll back the transaction.
set the transaction "rollback only"
Modify the transaction associated with the current thread such that
the only possible outcome of the transaction is to roll back the
transaction.
Set the termiantor associated with the transaction
set the Terminator of the transaction.
set a timer for the transaction
Modifies the value of the recovery value that is associated with the
transactions started by the current thread with the begin method.
Modifies the value of the timeout value that is associated with the
transactions started by the current thread with the begin method.
set the date time stamp for the transaction
Provide static interface to recover uuid0 & uuid1 after journal
replay.
Log all the Resource Managers with the JOTM Transaction Manager.
Log (in Howl) every Resource Manager (XAResource) that has been
registered.
stop the timer, but keep it for further reuse (See change())
Stops the transaction service.
This object is the local coordinator.
Suspends the transaction currently associated with the calling thread
and return a Transaction
object that represents the
transaction context being suspended.
The transaction timeout has expired
Do not synchronize this method to avoid deadlocks!
Invoked when the timeout has expired.
timeout for that transaction has expired
A timer manager manages 2 lists of timers with 2 threads
One thread is a clock which decrements timers every second
and passes them when expired in a list of expired timers.
A TMService
represents a JTA Service and is used to acces JTA
main interfaces (UserTransaction
and
TransactionManager
).
String form
default toString() compresses Xid's
String form
default toString() compresses Xid's
JOTM log system uses Log4J and Commons Logging.
This is how the JTA Implementation in JOTM sees the Transaction Context.
Constructor of the Transaction Factory
TransactionImpl is the implementation of the Transaction interface,
defined in JTA specifications.
New Transaction for this thread (setPropagationContext)
A TransactionManager
extends JTA
javax.transaction.TransactionManager
with an event API that
allows late enlistment of connections opened by resource managers before the
transaction has begun.
Name used to designate the context containing the TSHandler components.
Builds a new Jeremie transaction service handler instance.
Implementation of the object that represents an inflow transaction.
Xid - interface org.objectweb.jotm.
Xid Xid implementation for JTA
XID has the following format as defined by X/Open Specification:
XID
long formatId format identifier
long gtrid_length value 1-64
long bqual_length value 1-64
byte data [XIDDATASIZE] where XIDDATASIZE = 128
The data field comprises at most two contiguous components:
a global transaction identifier (gtrid) and a branch qualifier (bqual)
which are defined as:
byte gtrid [1-64] global transaction identfier
byte bqual [1-64] branch qualifier
build a new Xid with a null BQual
Construct an Xid from a byte array.
Construct an Xid from a byteBuffer.
build Xid with all its components
(for performance on java serialization)
Build an Xid from an otid_t CORBA
The xid was passed from an external EIS (inflow transaction).
build a new Xid from an existing Xid, preserving the gtrid,
and using the 'index' as part of the unique but recognizable BQual.
Build an Xid for a local transaction