Module org.apache.derby.tools
Package org.apache.derby.jdbc

## Class EmbeddedXADataSource

- java.lang.Object
- - org.apache.derby.jdbc.BasicEmbeddedDataSource40
  - - org.apache.derby.jdbc.ReferenceableDataSource
    - - org.apache.derby.jdbc.EmbeddedDataSource
      - - org.apache.derby.jdbc.EmbeddedXADataSource

- All Implemented Interfaces:
    `Serializable`, `Wrapper`, `Referenceable`, `ObjectFactory`, `CommonDataSource`, `DataSource`, `XADataSource`, `org.apache.derby.iapi.jdbc.EmbeddedDataSourceInterface`, `org.apache.derby.iapi.jdbc.EmbeddedXADataSourceInterface`

      public class EmbeddedXADataSource
      extends EmbeddedDataSource
      implements org.apache.derby.iapi.jdbc.EmbeddedXADataSourceInterface

  This data source is suitable for an application using embedded Derby, running on full Java SE 6 or higher, corresponding to JDBC 4.0 and higher. EmbeddedXADataSource is an XADataSource implementation.

  An XADataSource is a factory for XAConnection objects. It represents a RM in a DTP environment. An object that implements the XADataSource interface is typically registered with a JNDI service provider.

  EmbeddedXADataSource automatically supports the correct JDBC specification version for the Java Virtual Machine's environment.

  - JDBC 4.0 - Java SE 6
  - JDBC 4.1 - Java SE 7
  - JDBC 4.2 - full Java SE 8

  Use BasicEmbeddedXADataSource40 if your application runs on Java 8 Compact Profile 2.

  EmbeddedXADataSource object only works on a local database. There is no client/server support. An EmbeddedXADataSource object must live in the same jvm as the database.

  EmbeddedXADataSource is serializable and referenceable.

  See EmbeddedDataSource for DataSource properties.

  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `EmbeddedXADataSource()` | no-arg constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `org.apache.derby.iapi.jdbc.ResourceAdapter` | `getResourceAdapter()` |
    `XAConnection` | `getXAConnection()` | Attempt to establish a database connection.
    `XAConnection` | `getXAConnection​(String user, String password)` | Attempt to establish a database connection with the given user name and password.

    - ### Methods inherited from class org.apache.derby.jdbc.EmbeddedDataSource

      `getObjectInstance, getReference`

    - ### Methods inherited from class org.apache.derby.jdbc.BasicEmbeddedDataSource40

      `equals, getAttributesAsPassword, getConnection, getConnection, getConnection, getConnectionAttributes, getCreateDatabase, getDatabaseName, getDataSourceName, getDescription, getLoginTimeout, getLogWriter, getParentLogger, getPassword, getShutdownDatabase, getUser, hashCode, isWrapperFor, setAttributesAsPassword, setConnectionAttributes, setCreateDatabase, setDatabaseName, setDataSourceName, setDescription, setLoginTimeout, setLogWriter, setPassword, setShutdownDatabase, setUser, unwrap`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface javax.sql.CommonDataSource

      `getParentLogger`

    - ### Methods inherited from interface javax.sql.DataSource

      `createConnectionBuilder, getConnection, getConnection, getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriter`

    - ### Methods inherited from interface org.apache.derby.iapi.jdbc.EmbeddedDataSourceInterface

      `getAttributesAsPassword, getConnection, getConnectionAttributes, getCreateDatabase, getDatabaseName, getDataSourceName, getDescription, getPassword, getShutdownDatabase, getUser, setAttributesAsPassword, setConnectionAttributes, setCreateDatabase, setDatabaseName, setDataSourceName, setDescription, setPassword, setShutdownDatabase, setUser`

    - ### Methods inherited from interface org.apache.derby.iapi.jdbc.EmbeddedXADataSourceInterface

      `createShardingKeyBuilder`

    - ### Methods inherited from interface java.sql.Wrapper

      `isWrapperFor, unwrap`

    - ### Methods inherited from interface javax.sql.XADataSource

      `createXAConnectionBuilder, getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriter`

- - ### Constructor Detail

    - #### EmbeddedXADataSource

          public EmbeddedXADataSource()

      no-arg constructor

  - ### Method Detail

    - #### getXAConnection

          public final XAConnection getXAConnection()
                                             throws SQLException

      Attempt to establish a database connection.
      Specified by:
        `getXAConnection` in interface `XADataSource`
      Returns:
        a Connection to the database
      Throws:
        `SQLException` - if a database-access error occurs.

    - #### getXAConnection

          public final XAConnection getXAConnection​(String user,
                                                    String password)
                                             throws SQLException

      Attempt to establish a database connection with the given user name and password.
      Specified by:
        `getXAConnection` in interface `XADataSource`
      Parameters:
        `user` - the database user on whose behalf the Connection is being made
        `password` - the user's password
      Returns:
        a Connection to the database
      Throws:
        `SQLException` - if a database-access error occurs.

    - #### getResourceAdapter

          public org.apache.derby.iapi.jdbc.ResourceAdapter getResourceAdapter()

      Specified by:
        `getResourceAdapter` in interface `org.apache.derby.iapi.jdbc.EmbeddedXADataSourceInterface`
      Returns:
        The cached `ResourceAdapter` instance for the underlying database