|
|||||||||
| Home >> All >> org >> jboss >> resource >> [ connectionmanager overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.jboss.resource.connectionmanager
Class TxConnectionManager

java.lang.Objectjavax.management.NotificationBroadcasterSupport
org.jboss.system.ServiceMBeanSupport
org.jboss.resource.connectionmanager.BaseConnectionManager2
org.jboss.resource.connectionmanager.TxConnectionManager
- All Implemented Interfaces:
- ConnectionCacheListener, ConnectionListenerFactory, javax.management.MBeanRegistration, javax.management.NotificationBroadcaster, org.jboss.system.Service, org.jboss.system.ServiceMBean
- Direct Known Subclasses:
- LocalTxConnectionManager, XATxConnectionManager
- public class TxConnectionManager
- extends BaseConnectionManager2
The LocalTxConnectionManager is a JBoss ConnectionManager implementation for jca adapters implementing LocalTransaction support. It implements a ConnectionEventListener that implements XAResource to manage transactions through the Transaction Manager. To assure that all work in a local transaction occurs over the same ManagedConnection, it includes a xid to ManagedConnection map. When a Connection is requested or a transaction started with a connection handle in use, it checks to see if a ManagedConnection already exists enrolled in the global transaction and uses it if found. Otherwise a free ManagedConnection has its LocalTransaction started and is used. From the BaseConnectionManager2, it includes functionality to obtain managed connections from a ManagedConnectionPool mbean, find the Subject from a SubjectSecurityDomain, and interact with the CachedConnectionManager for connections held over transaction and method boundaries. Important mbean references are to a ManagedConnectionPool supplier (typically a JBossManagedConnectionPool), and a RARDeployment representing the ManagedConnectionFactory. This connection manager has to perform the following operations: 1. When an application component requests a new ConnectionHandle, it must find a ManagedConnection, and make sure a ConnectionEventListener is registered. It must inform the CachedConnectionManager that a connection handle has been given out. It needs to count the number of handles for each ManagedConnection. If there is a current transaction, it must enlist the ManagedConnection's LocalTransaction in the transaction using the ConnectionEventListeners XAResource XAResource implementation. Entry point: ConnectionManager.allocateConnection. written. 2. When a ConnectionClosed event is received from the ConnectionEventListener, it must reduce the handle count. If the handle count is zero, the XAResource should be delisted from the Transaction, if any. The CachedConnectionManager must be notified that the connection is closed. Entry point: ConnectionEventListener.ConnectionClosed. written 3. When a transaction begun notification is received from the UserTransaction (via the CachedConnectionManager, all managedConnections associated with the current object must be enlisted in the transaction. Entry point: (from CachedConnectionManager) ConnectionCacheListener.transactionStarted(Transaction, Collection). The collection is of ConnectionRecord objects. written. 5. When an "entering object" notification is received from the CachedConnectionInterceptor, all the connections for the current object must be associated with a ManagedConnection. if there is a Transaction, the XAResource must be enlisted with it. Entry point: ConnectionCacheListener.reconnect(Collection conns) The Collection is of ConnectionRecord objects. written. 6. When a "leaving object" notification is received from the CachedConnectionInterceptor, all the managedConnections for the current object must have their XAResources delisted from the current Transaction, if any, and cleanup called on each ManagedConnection. Entry point: ConnectionCacheListener.disconnect(Collection conns). written. Created: Fri Sept 6 11:13:28 2002
- Version:
- $Revision: 1.2.2.17 $
| Nested Class Summary | |
private class |
TxConnectionManager.LocalXAResource
|
protected class |
TxConnectionManager.TxConnectionEventListener
|
| Nested classes inherited from class org.jboss.resource.connectionmanager.BaseConnectionManager2 |
BaseConnectionManager2.BaseConnectionEventListener, BaseConnectionManager2.ConnectionManagerProxy |
| Field Summary | |
private boolean |
localTransactions
|
private javax.transaction.TransactionManager |
tm
|
private java.lang.String |
tmName
|
private boolean |
trackConnectionByTx
|
private javax.management.ObjectName |
transactionManagerService
|
private org.jboss.tm.TransactionLocal |
txToConnectionListenerMap
|
| Fields inherited from class org.jboss.resource.connectionmanager.BaseConnectionManager2 |
jcaConnectionFactory, jcaManagedConnectionFactory, jndiName, poolingStrategy, STOPPING_NOTIFICATION, trace |
| Fields inherited from class org.jboss.system.ServiceMBeanSupport |
log, server, serviceName |
| Fields inherited from class javax.management.NotificationBroadcasterSupport |
|
| Fields inherited from interface org.jboss.system.ServiceMBean |
CREATE_EVENT, CREATED, DESTROY_EVENT, DESTROYED, FAILED, REGISTERED, STARTED, STARTING, states, STOPPED, STOPPING, UNREGISTERED |
| Constructor Summary | |
TxConnectionManager()
Default managed LocalTxConnectionManager constructor for mbean instances. |
|
TxConnectionManager(CachedConnectionManager ccm,
ManagedConnectionPool poolingStrategy,
javax.transaction.TransactionManager tm)
Creates a new TxConnectionManager instance. |
|
| Method Summary | |
ConnectionListener |
createConnectionListener(javax.resource.spi.ManagedConnection mc,
java.lang.Object context)
Create a managed connection listener for the managed connection |
ConnectionListener |
getManagedConnection(javax.security.auth.Subject subject,
javax.resource.spi.ConnectionRequestInfo cri)
Describe getManagedConnection method here. |
java.lang.String |
getTransactionManager()
Deprecated. use the ObjectName TransactionManagerService instead |
javax.management.ObjectName |
getTransactionManagerService()
mbean get-set pair for field transactionManagerService Get the value of transactionManagerService |
boolean |
isLocalTransactions()
mbean get-set pair for field localTransactions Get the value of localTransactions |
boolean |
isTrackConnectionByTx()
mbean get-set pair for field trackConnectionByTx Get the value of trackConnectionByTx |
boolean |
isTransactional()
Determine whether is a transaction |
protected void |
managedConnectionDisconnected(ConnectionListener cl)
|
protected void |
managedConnectionReconnected(ConnectionListener cl)
|
void |
setLocalTransactions(boolean localTransactions)
Set the value of localTransactions |
void |
setTrackConnectionByTx(boolean trackConnectionByTx)
Set the value of trackConnectionByTx |
void |
setTransactionManager(java.lang.String tmName)
Deprecated. use the ObjectName TransactionManagerService instead |
void |
setTransactionManagerService(javax.management.ObjectName transactionManagerService)
Set the value of transactionManagerService |
protected void |
startService()
Sub-classes should override this method to provide custum 'start' logic. |
protected void |
stopService()
Sub-classes should override this method to provide custum 'stop' logic. |
void |
transactionStarted(java.util.Collection crs)
|
| Methods inherited from class org.jboss.system.ServiceMBeanSupport |
create, createService, destroy, destroyService, getLog, getName, getNextNotificationSequenceNumber, getObjectName, getServer, getServiceName, getState, getStateString, postDeregister, postRegister, preDeregister, preRegister, start, stop |
| Methods inherited from class javax.management.NotificationBroadcasterSupport |
addNotificationListener, getListenerMap, removeNotificationListener, sendNotification |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
transactionManagerService
private javax.management.ObjectName transactionManagerService
tmName
private java.lang.String tmName
tm
private javax.transaction.TransactionManager tm
trackConnectionByTx
private boolean trackConnectionByTx
localTransactions
private boolean localTransactions
txToConnectionListenerMap
private org.jboss.tm.TransactionLocal txToConnectionListenerMap
| Constructor Detail |
TxConnectionManager
public TxConnectionManager()
- Default managed LocalTxConnectionManager constructor for mbean instances.
TxConnectionManager
public TxConnectionManager(CachedConnectionManager ccm, ManagedConnectionPool poolingStrategy, javax.transaction.TransactionManager tm)
- Creates a new
TxConnectionManagerinstance. for TESTING ONLY!!! not a managed constructor!!
| Method Detail |
getTransactionManagerService
public javax.management.ObjectName getTransactionManagerService()
- mbean get-set pair for field transactionManagerService
Get the value of transactionManagerService
setTransactionManagerService
public void setTransactionManagerService(javax.management.ObjectName transactionManagerService)
- Set the value of transactionManagerService
setTransactionManager
public void setTransactionManager(java.lang.String tmName)
- Deprecated. use the ObjectName TransactionManagerService instead
- The TransactionManager attribute contains the jndi name of the TransactionManager. This is normally java:/TransactionManager.
- The TransactionManager attribute contains the jndi name of the TransactionManager. This is normally java:/TransactionManager.
getTransactionManager
public java.lang.String getTransactionManager()
- Deprecated. use the ObjectName TransactionManagerService instead
- Describe
getTransactionManagermethod here. - Describe
isTrackConnectionByTx
public boolean isTrackConnectionByTx()
- mbean get-set pair for field trackConnectionByTx
Get the value of trackConnectionByTx
setTrackConnectionByTx
public void setTrackConnectionByTx(boolean trackConnectionByTx)
- Set the value of trackConnectionByTx
isLocalTransactions
public boolean isLocalTransactions()
- mbean get-set pair for field localTransactions
Get the value of localTransactions
setLocalTransactions
public void setLocalTransactions(boolean localTransactions)
- Set the value of localTransactions
startService
protected void startService()
throws java.lang.Exception
- Description copied from class:
org.jboss.system.ServiceMBeanSupport - Sub-classes should override this method to provide
custum 'start' logic.
This method is empty, and is provided for convenience when concrete service classes do not need to perform anything specific for this state change.
- Overrides:
startServicein classBaseConnectionManager2
stopService
protected void stopService()
throws java.lang.Exception
- Description copied from class:
org.jboss.system.ServiceMBeanSupport - Sub-classes should override this method to provide
custum 'stop' logic.
This method is empty, and is provided for convenience when concrete service classes do not need to perform anything specific for this state change.
- Overrides:
stopServicein classBaseConnectionManager2
getManagedConnection
public ConnectionListener getManagedConnection(javax.security.auth.Subject subject, javax.resource.spi.ConnectionRequestInfo cri) throws javax.resource.ResourceException
- Description copied from class:
BaseConnectionManager2 - Describe
getManagedConnectionmethod here. Public for use in testing pooling functionality by itself. called by both allocateConnection and reconnect.- Overrides:
getManagedConnectionin classBaseConnectionManager2
transactionStarted
public void transactionStarted(java.util.Collection crs) throws javax.transaction.SystemException
- Specified by:
transactionStartedin interfaceConnectionCacheListener- Overrides:
transactionStartedin classBaseConnectionManager2
managedConnectionReconnected
protected void managedConnectionReconnected(ConnectionListener cl) throws javax.resource.ResourceException
- Overrides:
managedConnectionReconnectedin classBaseConnectionManager2
managedConnectionDisconnected
protected void managedConnectionDisconnected(ConnectionListener cl) throws javax.resource.ResourceException
- Overrides:
managedConnectionDisconnectedin classBaseConnectionManager2
createConnectionListener
public ConnectionListener createConnectionListener(javax.resource.spi.ManagedConnection mc, java.lang.Object context) throws javax.resource.ResourceException
- Description copied from interface:
ConnectionListenerFactory - Create a managed connection listener for the managed connection
isTransactional
public boolean isTransactional()
- Description copied from interface:
ConnectionListenerFactory - Determine whether is a transaction
- Specified by:
isTransactionalin interfaceConnectionListenerFactory- Overrides:
isTransactionalin classBaseConnectionManager2
|
|||||||||
| Home >> All >> org >> jboss >> resource >> [ connectionmanager overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC