public interface TransactionManager extends ClientTransactionManager
Modifier and Type | Field and Description |
---|---|
static String |
ASYNC_TIMEOUT_DELIST
A constant that is used as the name of the registration property that
controls whether an enlisted resource is delisted by a different
thread that is processing the transaction timeout prior to the timeout
thread's invocation of XAResource.rollback.
|
static String |
CALL_SET_DELIST_TMSUCCESS_ALWAYS
A constant that is used as the name of the registration property that
controls whether the transaction manager sets the delistment flag .
|
static String |
CALL_SET_DELIST_TMSUCCESS_INSTEAD_OF_TMSUSPEND
A constant that is used as the name of the registration property that
controls whether the transaction manager sets the delistment flag .
|
static String |
CALL_SET_TRANSACTION_TIMEOUT
A constant that is used as the name of the registration property that
controls whether the transaction manager sets the resource timeout.
|
static String |
ENLISTMENT_DYNAMIC
This enlistment mode requires the resource to dynamically enlist
with the transaction manager when accessed by the application.
|
static String |
ENLISTMENT_STANDARD
Allows an application or XAResource adaptor to register
a XA resource dynamically, typically before the resource is made
available to the application.
|
static String |
ENLISTMENT_STATIC
Registering the XA resource statically means that the transaction
service always enlists the resource when a transaction is attached
to a thread.
|
static String |
ENLISTMENT_TYPE
A constant that is used as the name of the resource registration property
that determines the enlistment style of the resource being registered.
|
static String |
FIRST_RESOURCE_COMMIT
A constant that is used as the name of the registration property that
indicates if a resource must be the first to prepare and commit
|
static String |
FIRST_RESOURCE_COMMIT_SERVER
A constant that is used as the name of the registration property that
indicates if a server must be the first to commit
|
static String |
INTERLEAVING_ENLISTMENTS
A constant that is used as the name of the registration property that
controls interleaving enlistments.
|
static String |
LOCAL_ASSIGNMENT_OF_REMOTE_RESOURCES
A constant that is used as the name of the registration property that
controls how participating resources are assigned to servers.
|
static String |
RECOVER_RETRY_DURATION_SECONDS
A constant that is used as the name of the registration property
that controls whether recover will be retried for the specified
duration in seconds.
|
static String |
RECOVER_RETRY_INTERVAL_SECONDS
A constant that is used as the name of the registration property
that controls the frequency in seconds at which the recover
operation is performed on the resource.
|
static String |
RESOURCE_DATASOURCE
This indicates the resource being registered is datasource.
|
static String |
RESOURCE_JCA
This indicates the resource being registered is jca.
|
static String |
RESOURCE_JMS
This indicates the resource being registered is jms.
|
static String |
RESOURCE_OTHER
This indicates the resource being registered is xa resource
other than datasource, jms and jca.
|
static String |
RESOURCE_TYPE
A constant that is used as the type of the resource registration property
that determines the resource type of the resource being registered.
|
static String |
THREAD_AFFINITY
A constant that is used as the name of the registration property that
controls whether an enlisted resource needs thread affinity.
|
Modifier and Type | Method and Description |
---|---|
void |
begin(int timeoutseconds)
Create a new transaction with the specified timeout value,
and associate the transaction with the current thread.
|
void |
begin(Map properties)
Create a new transaction with the specified timeout value,
set the transaction name property and associate the
transaction with the current thread.
|
void |
begin(String name)
Create a new transaction, set the transaction name property
and associate the transaction with the current thread.
|
void |
begin(String name,
int timeoutseconds)
Create a new transaction with the specified timeout value,
set the transaction name property and associate the
transaction with the current thread.
|
Transaction |
getTransaction(Xid xid)
Given an XID returns the corresponding transaction object, if any.
|
void |
registerDynamicResource(String name,
NonXAResource nxar)
Register the NonXAResource with the transaction manager.
|
void |
registerDynamicResource(String name,
XAResource xar)
Allows an application or XAResource adaptor to register
a XA resource dynamically, typically before the resource is made
available to the application.
|
void |
registerDynamicResource(String name,
XAResource xar,
Hashtable properties)
Allows an application or XAResource adaptor to register
a XA resource dynamically, typically before the resource is made
available to the application.
|
void |
registerResource(String name,
XAResource xar)
Allows an application or XAResource adaptor to register
a XA resource dynamically, typically before the resource is made
available to the application.
|
void |
registerResource(String name,
XAResource xar,
boolean localResourceAssignment)
Registers a resource under a specified name.
|
void |
registerResource(String name,
XAResource xar,
Hashtable properties)
Registers a resource under a specified name.
|
void |
registerResource(String name,
XAResource xar,
Hashtable properties,
boolean localResourceAssignment)
Registers a resource under a specified name.
|
void |
registerStaticResource(String name,
XAResource xar)
Allows an application or XAResource adaptor to register a XA
resource statically, typically before the resource is made
available to the application.
|
void |
registerStaticResource(String name,
XAResource xar,
Hashtable properties)
Allows an application or XAResource adaptor to register a XA
resource statically, typically before the resource is made
available to the application.
|
void |
setResourceHealthy(String name) |
void |
unregisterResource(String name)
unregisterResource removes a prior resource registration.
|
void |
unregisterResource(String name,
boolean blocking)
When the blocking argument is true, unregisterResource will
block until either all in-progress transactions for which the
specified resource is a participant completes, or until the
grace period expires.
|
forceResume, forceSuspend
begin, commit, getStatus, getTransaction, resume, rollback, setRollbackOnly, setTransactionTimeout, suspend
static final String RESOURCE_TYPE
static final String RESOURCE_DATASOURCE
static final String RESOURCE_JMS
static final String RESOURCE_JCA
static final String RESOURCE_OTHER
static final String ENLISTMENT_TYPE
static final String ENLISTMENT_DYNAMIC
static final String ENLISTMENT_STATIC
static final String ENLISTMENT_STANDARD
static final String INTERLEAVING_ENLISTMENTS
static final String CALL_SET_TRANSACTION_TIMEOUT
static final String LOCAL_ASSIGNMENT_OF_REMOTE_RESOURCES
static final String ASYNC_TIMEOUT_DELIST
static final String THREAD_AFFINITY
static final String RECOVER_RETRY_DURATION_SECONDS
static final String RECOVER_RETRY_INTERVAL_SECONDS
static final String CALL_SET_DELIST_TMSUCCESS_ALWAYS
static final String CALL_SET_DELIST_TMSUCCESS_INSTEAD_OF_TMSUSPEND
static final String FIRST_RESOURCE_COMMIT
static final String FIRST_RESOURCE_COMMIT_SERVER
void registerStaticResource(String name, XAResource xar) throws SystemException
While optional, this call improves performance during an
enlistResource
operation. If an
enlistResource
call is made and the resource (or
another instance of its type) has not previously been registered,
the transaction service automatically registers the new resource
dynamically using the class name of the resource as the name. See
below for description of registering a XA resource
dynamically.
In a multi-tenant environment this register method must be invoked with the proper CIC (component invocation context) on the calling thread.
This CIC will be used for subsequent transaction resource callbacks.
The registerStaticResource
method has the following
parameters:
name
- The name of the resource. This name is used
in error messages as well as in the branch qualifier
part of all transaction ids supplied
to the resource.xar
- A reference to a XAResource object that is
subsequently used to handle recovery. It can also
be the weblogic extension
weblogic.transaction.XAResource.SystemException
void registerStaticResource(String name, XAResource xar, Hashtable properties) throws SystemException
While optional, this call improves performance during an
enlistResource
operation. If an
enlistResource
call is made and the resource (or
another instance of its type) has not previously been registered,
the transaction service automatically registers the new resource
dynamically using the class name of the resource as the name. See
below for description of registering a XA resource
dynamically.
In a multi-tenant environment this register method must be invoked with the proper CIC (component invocation context) on the calling thread.
This CIC will be used for subsequent transaction resource callbacks.
The registerStaticResource
method has the following
parameters:
name
- The name of the resource. This name is used
in error messages as well as in the branch qualifier
part of all transaction ids supplied
to the resource.xar
- A reference to a XAResource object that is
subsequently used to handle recovery. It can also
be the weblogic extension
weblogic.transaction.XAResource.properties
- Properties that control how the resource
will be controlled by the transaction manager.SystemException
void registerDynamicResource(String name, XAResource xar) throws SystemException
While optional, this call improves performance during an
enlistResource
operation. If an enlistResource
call is made and the resource (or another instance of its type) has not
previously been registered, the transaction service automatically
registers the new resource dynamically using the class name of the
resource as the name. See below for description of registering a XA
resource dynamically.
In a multi-tenant environment this register method must be invoked with the proper CIC (component invocation context) on the calling thread. This CIC will be used for subsequent transaction resource callbacks.
The registerDynamicResource
method has the following
parameters:
name
- The name of the resource. This name is used
in error messages as well as in the branch qualifier
part of all transaction ids supplied
to the resource.xar
- A reference to a XAResource object that is
subsequently used to handle recovery. It can also
be the weblogic extension
weblogic.transaction.XAResource.SystemException
void registerDynamicResource(String name, XAResource xar, Hashtable properties) throws SystemException
While optional, this call improves performance during an
enlistResource
operation. If an enlistResource
call is made and the resource (or another instance of its type) has not
previously been registered, the transaction service automatically
registers the new resource dynamically using the class name of the
resource as the name. See below for description of registering a XA
resource dynamically.
In a multi-tenant environment this register method must be invoked with the proper CIC (component invocation context) on the calling thread. This CIC will be used for subsequent transaction resource callbacks.
The registerDynamicResource
method has the following
parameters:
name
- The name of the resource. This name is used
in error messages as well as in the branch qualifier
part of all transaction ids supplied
to the resource.xar
- A reference to a XAResource object that is
subsequently used to handle recovery. It can also
be the weblogic extension
weblogic.transaction.XAResource.properties
- Properties that control how the resource
will be controlled by the transaction manager.SystemException
void registerDynamicResource(String name, NonXAResource nxar) throws SystemException
SystemException
void unregisterResource(String name) throws SystemException
SystemException
void setResourceHealthy(String name)
void unregisterResource(String name, boolean blocking) throws SystemException
Transaction getTransaction(Xid xid)
void begin(String name) throws NotSupportedException, SystemException
name
- The descriptive name to be associated with the
new transaction.NotSupportedException
- Thrown if the thread is
already associated with a transaction.SystemException
- Thrown if the transaction manager
encounters an unexpected error condition.Transaction.setName(String)
void begin(int timeoutseconds) throws NotSupportedException, SystemException
timeoutseconds
- The timeout value for the transaction.
This value will override the default timeout value associated
with the current thread. If a value of zero is specified
the default timeout will be used.NotSupportedException
- Thrown if the thread is
already associated with a transaction.SystemException
- Thrown if the transaction manager
encounters an unexpected error condition.TransactionManager.setTransactionTimeout(int)
void begin(String name, int timeoutseconds) throws NotSupportedException, SystemException
name
- The descriptive name to be associated with the
new transaction.timeoutseconds
- The timeout value for the transaction.
This value will override the default timeout value associated
with the current thread. If a value of zero is specified
the default timeout will be used.NotSupportedException
- Thrown if the thread is
already associated with a transaction.SystemException
- Thrown if the transaction manager
encounters an unexpected error condition.Transaction.setName(String)
void begin(Map properties) throws NotSupportedException, SystemException
properties
- A map of properties for the transaction.
This map is not modified so it may be cached by the caller.NotSupportedException
- Thrown if the thread is
already associated with a transaction.SystemException
- Thrown if the transaction manager
encounters an unexpected error condition.Transaction.setName(String)
void registerResource(String name, XAResource xar) throws SystemException
While optional, this call improves performance during an
enlistResource
operation. If an enlistResource
call is made and the resource (or another instance of its type) has not
previously been registered, the transaction service automatically
registers the new resource dynamically using the class name of the
resource as the name. See below for description of registering a XA
resource dynamically.
In a multi-tenant environment this register method must be invoked with the proper CIC (component invocation context) on the calling thread. This CIC will be used for subsequent transaction resource callbacks.
The registerResource
method has the following
parameters:
name
- The name of the resource. This name is used
in error messages as well as in the branch qualifier
part of all transaction ids supplied
to the resource.xar
- A reference to a XAResource object that is
subsequently used to handle recovery. It can also
be the weblogic extension
weblogic.transaction.XAResource.SystemException
void registerResource(String name, XAResource xar, Hashtable properties) throws SystemException
name
- The name of the resource. This name is used
in error messages as well as in the branch qualifier
part of all transaction ids supplied
to the resource.xar
- A reference to a XAResource object that is
subsequently used to handle recovery. It can also
be the weblogic extension
weblogic.transaction.XAResource.properties
- Properties that control how the resource
will be controlled by the transaction manager.SystemException
TransactionManager.RESOURCE_TYPE
,
TransactionManager.ENLISTMENT_TYPE
,
TransactionManager.ENLISTMENT_DYNAMIC
,
TransactionManager.ENLISTMENT_STATIC
,
TransactionManager.ENLISTMENT_STANDARD
,
TransactionManager.INTERLEAVING_ENLISTMENTS
,
TransactionManager.CALL_SET_TRANSACTION_TIMEOUT
,
TransactionManager.LOCAL_ASSIGNMENT_OF_REMOTE_RESOURCES
,
TransactionManager.THREAD_AFFINITY
,
TransactionManager.CALL_SET_DELIST_TMSUCCESS_ALWAYS
,
TransactionManager.CALL_SET_DELIST_TMSUCCESS_INSTEAD_OF_TMSUSPEND
void registerResource(String name, XAResource xar, Hashtable properties, boolean localResourceAssignment) throws SystemException
name
- The name of the resource. This name is used
in error messages as well as in the branch qualifier
part of all transaction ids supplied
to the resource.xar
- A reference to a XAResource object that is
subsequently used to handle recovery. It can also
be the weblogic extension
weblogic.transaction.XAResource.properties
- Properties that control how the resource
will be controlled by the transaction manager.SystemException
TransactionManager.RESOURCE_TYPE
,
TransactionManager.ENLISTMENT_TYPE
,
TransactionManager.ENLISTMENT_DYNAMIC
,
TransactionManager.ENLISTMENT_STATIC
,
TransactionManager.ENLISTMENT_STANDARD
,
TransactionManager.INTERLEAVING_ENLISTMENTS
,
TransactionManager.CALL_SET_TRANSACTION_TIMEOUT
,
TransactionManager.LOCAL_ASSIGNMENT_OF_REMOTE_RESOURCES
,
TransactionManager.THREAD_AFFINITY
,
TransactionManager.CALL_SET_DELIST_TMSUCCESS_ALWAYS
void registerResource(String name, XAResource xar, boolean localResourceAssignment) throws SystemException
name
- The name of the resource. This name is used
in error messages as well as in the branch qualifier
part of all transaction ids supplied
to the resource.xar
- A reference to a XAResource object that is
subsequently used to handle recovery. It can also
be the weblogic extension
weblogic.transaction.XAResource.localResourceAssignment
- boolean that indicates if the
resource can be assigned locally on the Coordinator
when the resource was enlisted in the subCoordinator.SystemException
TransactionManager.RESOURCE_TYPE
,
TransactionManager.ENLISTMENT_TYPE
,
TransactionManager.ENLISTMENT_DYNAMIC
,
TransactionManager.ENLISTMENT_STATIC
,
TransactionManager.ENLISTMENT_STANDARD
,
TransactionManager.INTERLEAVING_ENLISTMENTS
,
TransactionManager.CALL_SET_TRANSACTION_TIMEOUT
,
TransactionManager.LOCAL_ASSIGNMENT_OF_REMOTE_RESOURCES
,
TransactionManager.THREAD_AFFINITY
,
TransactionManager.CALL_SET_DELIST_TMSUCCESS_ALWAYS