当前页面:
在线文档首页 >
JBoss 3.2.7 connector API Documentation 英文版文档
LocalTxConnectionManager (JBoss Connector API) - JBoss 3.2.7 connector API Documentation 英文版文档
org.jboss.resource.connectionmanager
Class LocalTxConnectionManager
java.lang.Object
org.jboss.mx.util.JBossNotificationBroadcasterSupport
org.jboss.system.ServiceMBeanSupport
org.jboss.resource.connectionmanager.BaseConnectionManager2
org.jboss.resource.connectionmanager.TxConnectionManager
org.jboss.resource.connectionmanager.LocalTxConnectionManager
- All Implemented Interfaces:
- BaseConnectionManager2MBean, ConnectionCacheListener, ConnectionListenerFactory, LocalTxConnectionManagerMBean, javax.management.MBeanRegistration, javax.management.NotificationBroadcaster, javax.management.NotificationEmitter, org.jboss.system.Service, org.jboss.system.ServiceMBean, TxConnectionManagerMBean
- public class LocalTxConnectionManager
- extends TxConnectionManager
- implements LocalTxConnectionManagerMBean
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.
- Version:
- $Revision: 1.9.2.5 $
- Author:
- David Jencks, Adrian Brock
Fields inherited from class org.jboss.system.ServiceMBeanSupport |
log, server, SERVICE_CONTROLLER_SIG, serviceName |
Fields inherited from interface org.jboss.system.ServiceMBean |
CREATE_EVENT, CREATED, DESTROY_EVENT, DESTROYED, FAILED, REGISTERED, START_EVENT, STARTED, STARTING, states, STOP_EVENT, STOPPED, STOPPING, UNREGISTERED |
Methods inherited from class org.jboss.resource.connectionmanager.TxConnectionManager |
createConnectionListener, getManagedConnection, getTransactionManager, getTransactionManagerInstance, getTransactionManagerService, isLocalTransactions, isTrackConnectionByTx, isTransactional, managedConnectionDisconnected, managedConnectionReconnected, setLocalTransactions, setTrackConnectionByTx, setTransactionManager, setTransactionManagerInstance, setTransactionManagerService, startService, stopService, transactionStarted |
Methods inherited from class org.jboss.resource.connectionmanager.BaseConnectionManager2 |
allocateConnection, disconnect, getCachedConnectionManager, getCcm, getConnectionCount, getInstance, getJaasSecurityManagerService, getJndiName, getManagedConnection, getManagedConnectionFactory, getManagedConnectionPool, getNotificationInfo, getPoolingStrategy, getSecurityDomainJndiName, reconnect, rethrowAsResourceException, returnManagedConnection, setCachedConnectionManager, setJaasSecurityManagerService, setJndiName, setManagedConnectionPool, setSecurityDomainJndiName, unregisterAssociation |
Methods inherited from class org.jboss.system.ServiceMBeanSupport |
create, createService, destroy, destroyService, getLog, getName, getNextNotificationSequenceNumber, getObjectName, getServer, getServiceName, getState, getStateString, jbossInternalCreate, jbossInternalDescription, jbossInternalDestroy, jbossInternalLifecycle, jbossInternalStart, jbossInternalStop, postDeregister, postRegister, preDeregister, preRegister, start, stop |
Methods inherited from class org.jboss.mx.util.JBossNotificationBroadcasterSupport |
addNotificationListener, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.jboss.resource.connectionmanager.BaseConnectionManager2MBean |
getCachedConnectionManager, getInstance, getJaasSecurityManagerService, getJndiName, getManagedConnectionFactory, getManagedConnectionPool, getSecurityDomainJndiName, setCachedConnectionManager, setJaasSecurityManagerService, setJndiName, setManagedConnectionPool, setSecurityDomainJndiName |
Methods inherited from interface org.jboss.system.ServiceMBean |
getName, getState, getStateString, jbossInternalLifecycle |
Methods inherited from interface org.jboss.system.Service |
create, destroy, start, stop |
LocalTxConnectionManager
public LocalTxConnectionManager()
- Default managed LocalTxConnectionManager constructor for mbean instances.
LocalTxConnectionManager
public LocalTxConnectionManager(CachedConnectionManager ccm,
ManagedConnectionPool poolingStrategy,
TransactionManager tm)
- Creates a new
LocalTxConnectionManager
instance.
for TESTING ONLY!!! not a managed constructor!!
- Parameters:
ccm
- a CachedConnectionManager
valuepoolingStrategy
- a ManagedConnectionPool
valuetm
- a TransactionManager
value
Copyright © 2002 JBoss Group, LLC. All Rights Reserved.