/*
* Copyright (c) 2009, PostgreSQL Global Development Group
* See the LICENSE file in the project root for more information.
*/
package org.postgresql.xa;
import org.postgresql.core.BaseConnection;
import org.postgresql.ds.common.BaseDataSource;
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Reference;
import javax.sql.XAConnection;
import javax.sql.XADataSource;
XA-enabled DataSource implementation.
Author: Heikki Linnakangas (heikki.linnakangas@iki.fi)
/**
* XA-enabled DataSource implementation.
*
* @author Heikki Linnakangas (heikki.linnakangas@iki.fi)
*/
public class PGXADataSource extends BaseDataSource implements XADataSource {
Gets a connection to the PostgreSQL database. The database is identified by the DataSource
properties serverName, databaseName, and portNumber. The user to connect as is identified by
the DataSource properties user and password.
Throws: - SQLException – Occurs when the database connection cannot be established.
Returns: A valid database connection.
/**
* Gets a connection to the PostgreSQL database. The database is identified by the DataSource
* properties serverName, databaseName, and portNumber. The user to connect as is identified by
* the DataSource properties user and password.
*
* @return A valid database connection.
* @throws SQLException Occurs when the database connection cannot be established.
*/
public XAConnection getXAConnection() throws SQLException {
return getXAConnection(getUser(), getPassword());
}
Gets a XA-enabled connection to the PostgreSQL database. The database is identified by the
DataSource properties serverName, databaseName, and portNumber. The user to connect as is
identified by the arguments user and password, which override the DataSource properties by the
same name.
Throws: - SQLException – Occurs when the database connection cannot be established.
Returns: A valid database connection.
/**
* Gets a XA-enabled connection to the PostgreSQL database. The database is identified by the
* DataSource properties serverName, databaseName, and portNumber. The user to connect as is
* identified by the arguments user and password, which override the DataSource properties by the
* same name.
*
* @return A valid database connection.
* @throws SQLException Occurs when the database connection cannot be established.
*/
public XAConnection getXAConnection(String user, String password) throws SQLException {
Connection con = super.getConnection(user, password);
return new PGXAConnection((BaseConnection) con);
}
public String getDescription() {
return "XA-enabled DataSource from " + org.postgresql.util.DriverInfo.DRIVER_FULL_NAME;
}
Generates a reference using the appropriate object factory.
/**
* Generates a reference using the appropriate object factory.
*/
protected Reference createReference() {
return new Reference(getClass().getName(), PGXADataSourceFactory.class.getName(), null);
}
}