Data sources
Installed applications use a data source to obtain connections to a relational database. A data source is analogous to the Java EE Connector Architecture (JCA) connection factory, which provides connectivity to other types of enterprise information systems (EIS).
A data source is associated with a JDBC provider, which supplies the driver implementation classes required for JDBC connectivity with the specific vendor database. Application components transact directly with the data source to obtain connection instances to your database. The connection pool that corresponds to each data source provides connection management.
We can create multiple data sources with different settings, and associate them with the same JDBC provider. For example, you might use multiple data sources to access different databases within the same vendor database application. WAS requires JDBC providers to implement one or both of the following data source interfaces, which are defined by Sun Microsystems. These interfaces enable the application to run in a single-phase or two-phase transaction protocol.
- ConnectionPoolDataSource
Supports application participation in local and global transactions, excepting two-phase commit transactions. When a connection pool data source is involved in a global transaction, transaction recovery is not provided by the transaction manager. The application is responsible for providing the backup recovery process if multiple resource managers are involved.
A connection pool data source does support two-phase commit transactions in these cases:
- The data source is making use of Last participant support, which enables a single one-phase commit resource to participate in a global transaction with one or more two-phase commit resources.
- XADataSource
Supports application participation in any single-phase or two-phase transaction environment. When this data source is involved in a global transaction, the product transaction manager provides transaction recovery.
Choice of data source
- J2EE 1.2 application - all EJB 1.1 enterprise beans, JDBC applications, or Servlet 2.2 components must use the 4.0 data source.
- J2EE 1.3 (and subsequent releases) application
- EJB 1.1 module - all EJB 1.x beans must use the 4.0 data source.
- EJB 2.0 (and subsequent releases) module - enterprise beans that include container-managed persistence (CMP) Version 1.x, 2.0, and beyond must use the new data source.
- JDBC applications and Servlet 2.3+ components - must use the new data source.
Related concepts
Relational resource adapters and JCAJDBC providers Access data from application clients Configure a JDBC provider using the administrative console Configure a data source using the administrative console Configure a JDBC provider using wsadmin Configure new data sources using wsadmin Configure new WAS40 data sources Create a JDBC provider and data source using the JMX API Configuring data access for application clients using the assembly tool and ACRCT Create or change a resource reference using the assembly tool Assembling data access applications using the assembly tool Deploy data access applications Develop data access applications Configure a JDBC provider for a clustered environment Migrate applications to use data sources of the current Java EE Connector Architecture (JCA) Configure a JDBC provider and data source Use one-phase and two-phase commit resources in the same transaction