Package org.apache.jackrabbit.data.core
Class TransactionContext
java.lang.Object
org.apache.jackrabbit.data.core.TransactionContext
Represents the transaction on behalf of the component that wants to
explicitly demarcate transaction boundaries. After having been prepared,
schedules a task that rolls back the transaction if some time passes without
any further action. This will guarantee that global objects locked by one
of the resources'
InternalXAResource.prepare(org.apache.jackrabbit.data.core.TransactionContext) method, are eventually
unlocked.-
Constructor Summary
ConstructorsConstructorDescriptionTransactionContext(Xid xid, InternalXAResource[] resources) Create a new instance of this class. -
Method Summary
Modifier and TypeMethodDescriptionvoidcommit()Commit the transaction identified by this context.getAttribute(String name) Return an attribute value on this transaction.static ObjectReturns the current thread identifier.static booleanisSameThreadId(Object a, Object b) Compares the given thread identifiers for equality.booleanReturn a flag indicating whether the association is suspended.voidprepare()Prepare the transaction identified by this context.voidremoveAttribute(String name) Remove an attribute on this transaction.voidrollback()Rollback the transaction identified by this context.voidsetAttribute(String name, Object value) Set an attribute on this transaction.voidsetSuspended(boolean suspended) Set a flag indicating whether the association is suspended.
-
Constructor Details
-
TransactionContext
Create a new instance of this class.- Parameters:
xid- associated xidresources- transactional resources
-
-
Method Details
-
setAttribute
Set an attribute on this transaction. If the value specified isnull, it is semantically equivalent toremoveAttribute(java.lang.String).- Parameters:
name- attribute namevalue- attribute value
-
getAttribute
Return an attribute value on this transaction.- Parameters:
name- attribute name- Returns:
- attribute value,
nullif no attribute with that name exists
-
removeAttribute
Remove an attribute on this transaction.- Parameters:
name- attribute name
-
prepare
Prepare the transaction identified by this context. Prepares changes on all resources. If some resource reports an error on prepare, automatically rollback changes on all other resources. Throw exception at the end if errors were found.- Throws:
XAException- if an error occurs
-
commit
Commit the transaction identified by this context. Commits changes on all resources. If some resource reports an error on commit, automatically rollback changes on all other resources. Throw exception at the end if some commit failed.- Throws:
XAException- if an error occurs
-
rollback
Rollback the transaction identified by this context. Rolls back changes on all resources. Throws exception at the end if errors were found.- Throws:
XAException- if an error occurs
-
isSuspended
public boolean isSuspended()Return a flag indicating whether the association is suspended.- Returns:
trueif the association is suspended;falseotherwise
-
setSuspended
public void setSuspended(boolean suspended) Set a flag indicating whether the association is suspended.- Parameters:
suspended- flag whether that the association is suspended.
-
getCurrentThreadId
Returns the current thread identifier. The identifier is either the current thread instance or the global transaction identifier wrapped in aTransactionContext.XidWrapper, when running under a transaction.- Returns:
- current thread identifier
-
isSameThreadId
Compares the given thread identifiers for equality.- See Also:
-