Example usage for org.apache.commons.dbcp.managed DataSourceXAConnectionFactory DataSourceXAConnectionFactory

List of usage examples for org.apache.commons.dbcp.managed DataSourceXAConnectionFactory DataSourceXAConnectionFactory

Introduction

In this page you can find the example usage for org.apache.commons.dbcp.managed DataSourceXAConnectionFactory DataSourceXAConnectionFactory.

Prototype

public DataSourceXAConnectionFactory(TransactionManager transactionManager, XADataSource xaDataSource,
        String username, String password) 

Source Link

Document

Creates an DataSourceXAConnectionFactory which uses the specified XADataSource to create database connections.

Usage

From source file:org.apache.openejb.resource.jdbc.dbcp.BasicDataSource.java

@Override
protected ConnectionFactory createConnectionFactory() throws SQLException {
    if (delegate != null) {
        if (XADataSource.class.isInstance(delegate)) {
            return new DataSourceXAConnectionFactory(OpenEJB.getTransactionManager(),
                    XADataSource.class.cast(delegate), username, password);
        }/* w w  w  .jav  a2  s.  c om*/
        return new DataSourceConnectionFactory(DataSource.class.cast(delegate), username, password);
    }
    return super.createConnectionFactory();
}

From source file:org.apache.openejb.resource.jdbc.dbcp.DbcpManagedDataSource.java

@Override
protected ConnectionFactory createConnectionFactory() throws SQLException {
    if (ds instanceof XADataSource) {

        // Create the XAConectionFactory using the XA data source
        final XADataSource xaDataSourceInstance = (XADataSource) ds;
        final XAConnectionFactory xaConnectionFactory = new DataSourceXAConnectionFactory(
                getTransactionManager(), xaDataSourceInstance, username, password);
        setTransactionRegistry(xaConnectionFactory.getTransactionRegistry());
        return xaConnectionFactory;

    }/*from ww w . ja v a 2 s. c o m*/

    // If xa data source is not specified a DriverConnectionFactory is created and wrapped with a LocalXAConnectionFactory
    final ConnectionFactory connectionFactory = new DataSourceConnectionFactory(DataSource.class.cast(ds),
            username, password);
    final XAConnectionFactory xaConnectionFactory = new LocalXAConnectionFactory(getTransactionManager(),
            connectionFactory);
    setTransactionRegistry(xaConnectionFactory.getTransactionRegistry());
    return xaConnectionFactory;
}