Chapter 22. Java Connector Architecture (JCA)

22.1. Introduction

22.1.1. About the Java EE Connector API (JCA)

JBoss EAP 6 provides full support for the Java EE Connector API (JCA) 1.6 specification. See JSR 322: Java EE Connector Architecture 1.6 for more information about the JCA specification.
A resource adapter is a component that implements the Java EE Connector API architecture. It is similar to a datasource object, however, it provides connectivity from an Enterprise Information System (EIS) to a broader range of heterogenuous systems, such as databases, messaging systems, transaction processing, and Enterprise Resource Planning (ERP) systems.

Note

Java Platform Enterprise Edition 6 comes with the javax.resource.cci package. The javax.resource.cci package comprises the APIs that should be implemented by a resource adapter that supports the Common Client Interface (CCI). javax.resource.cci.ResultSet is a member of this package and extends java.sql.ResultSet. The interface of java.sql.ResultSet depends on the Java version used, and hence when using Common Client Interface (CCI), all applications should assume that only java.sql.ResultSet methods from Java 6 can be used for data interaction.

22.1.2. Java Connector Architecture (JCA)

The Java EE Connector Architecture (JCA) defines a standard architecture for Java EE systems to external heterogeneous Enterprise Information Systems (EIS). Examples of EISs include Enterprise Resource Planning (ERP) systems, mainframe transaction processing (TP), databases and messaging systems.
JCA 1.6 provides features for managing:
  • connections
  • transactions
  • security
  • life-cycle
  • work instances
  • transaction inflow
  • message inflow
JCA 1.6 was developed under the Java Community Process as JSR-322, http://jcp.org/en/jsr/detail?id=313.
Alternative managed connection pools

JBoss EAP 6.4 features the following alternative pool implementations:

  • org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool: This is the default connection pool.
  • org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedQueueManagedConnectionPool: This connection pool sometimes provides better performance profile and is enabled by using the system property -Dironjacamar.mcp=org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedQueueManagedConnectionPool
  • org.jboss.jca.core.connectionmanager.pool.mcp.LeakDumperManagedConnectionPool: This connection pool is used only for debugging purposes. For more information about the LeakDetectorPool, refer to http://www.ironjacamar.org/doc/userguide/1.2/en-US/html/ch04.html#configuration_ironjacamar_leakpool

22.1.3. Resource Adapters

A resource adapter is a deployable Java EE component that provides communication between a Java EE application and an Enterprise Information System (EIS) using the Java Connector Architecture (JCA) specification. A resource adapter is often provided by EIS vendors to allow easy integration of their products with Java EE applications.
An Enterprise Information System can be any other software system within an organization. Examples include Enterprise Resource Planning (ERP) systems, database systems, e-mail servers and proprietary messaging systems.
A resource adapter is packaged in a Resource Adapter Archive (RAR) file which can be deployed to JBoss EAP 6. A RAR file may also be included in an Enterprise Archive (EAR) deployment.