Overview
JBossJCA is made up of a number of a components. Its main purpose is to integrate
disparate systems (using ResourceAdapters) with the JBoss Application Server.
The players
RAR - the ResourceAdapter deployment that knows how to connect to Databases, JMS servers or other legacy systems
JBossJCA - this is us - we do all the plumbing
JBoss - the application hosting user applications
JBossJTA - the TransactionManager
JBossSX - the SecurityManager
What the RAR provides
ResourceAdapter - a java bean for deployment and inbound lifecycle (JCA 1.5 only).
ManagedConnectionFactorys - a java bean for creating ManagedConnections
ManagedConnections - wrappers for the real connections to add a standard interface
ConnectionFactorys - the factory used indirectly by the application to create Connection handles
Connections - the connection handle used by the application (usually just delegates to the ManagedConnection)
ConnectionRequestInfos - a java bean containing information that identifies the connection request, used in connection construction and pooling
MessageListeners - interfaces to be implemented by the application for inbound communication
ActivationSpecs - a java bean for configuration of inbound ResourceAdapters
LocalTransaction - used to notify the application server of application controlled transactions
XAResource - used to control XA aware connections - enlisted in the TransactionManager
ExecutionContext - optional for work requests on the WorkManager
RARs provided by JBossJCA
jboss-local-jdbc.rar - Local JDBC ResourceAdapter wraps any java.sql.Driver
jboss-xa-jdbc.rar - XA JDBC ResourceAdapter wraps any javax.sql.DataSource
jms-ra.rar - JMS ResourceAdapter - works with any JMS implementation
What core JBossJCA provides
ConnectionManagers - the core controller
NoTxConnectionManager - for connections without JTA transactions
TxConnectionManager - for connections with JTA transaction transaction injection
LocalTxConnectionManager
- obsolete
XATxConnectionManager
- obsolete
ManagedConnectionPool - manages the pool/subpools of connections
JBossManagedConnectionPool - the default pooling implementation
InternalManagedConnectionPool - a pool/subpool used by JBossManagedConnectionPool
IdleRemover - for removing idle connections from the pool
ConnectionValidator - for validating connections from the pool in a seperate thread
PoolFiller - for filling pools to their minimum size
CachedConnectionManager - for keeping track of which applications have what connections open
ConnectionFactoryBinding - for binding a proxy to the ConnectionFactory which is intercepted by the ConnectionManager (JBoss4 only - part of the connection manager in JBoss-3.2.x)
WrapperDataSourceService - an extension to the ConnectionFactoryBinding for DataSources that optionally provides remote proxy access to the DataSource (JBoss4 only)
ConnectionFactoryDeployer - deploys all the pieces that support a ConnectionFactory deployment (ConnectionDefinition in JCA 1.5) from a -ds.xml
BootstrapContext - used by the ResourceAdapter to get access to the Timer, WorkManager and XATerminator
Timer - timer for scheduling requests
WorkManager - for executing work with optional TransactionInflow (JCA 1.5)
What transaction support JBossJCA provides
TransactionInjection - automatic enlistment of connections in transactions using the TxConnectionManager
LocalXAResource - an adapter to make LocalTransactions look like XAResources so they can take part in two phase commits
XATerminator - used by the ResourceAdapter to control transactions provided during TransactionInflow - actually implemented by the TransactionManager (JCA 1.5)
What security support JBossJCA provides
CallerIdentityLoginModule - to propagate EJB/Servlet principals to the resource
ConfiguredIdentityLoginModule - to pass a fixed/configured principal to the resource
SecureIdentityLoginModule - an extension to the ConfiguredIdentityLoginModule with an encrypted credential
What JBoss provides
TransactionManager - the JBossJTA transaction manager for transaction enlistment - also implements the XATerminator
SecurityManager - for LoginModule configuration
BasicThreadPool - used by the WorkManager
MessageEndpointFactorys - for creating MessageEndpoints (JCA 1.5)
MessageEndpoint - a proxy to an application's MessageListener implementation, typically an MDB (JCA 1.5)
Referenced by:
Comments