Classes that pertain to resource managers Derby provides two variants of each DataSource interface defined by the JDBC API. EmbeddedDataSource EmbeddedDataSource40 EmbeddedConnectionPoolDataSource EmbeddedConnectionPoolDataSource40 EmbeddedXADataSource EmbeddedXADataSource40

Applications that run on the J2SE 1.4 or 1.5 platform must use the first variant. Applications that run on the Java SE 6 platform can use either of the two variants. However, the DataSource methods specific to the JDBC 4 API are available only from the second variant (the one whose class name ends with "40").

If an application is running on the Java SE 6 platform, all connection objects returned from the DataSource will be JDBC 4 connection objects, regardless of which DataSource variant is in use.

The Derby implementation classes for the DataSource interfaces are as follows:

  • org.apache.derby.jdbc.EmbeddedDataSource and org.apache.derby.jdbc.EmbeddedDataSource40

    Implements the javax.sql.DataSource interface, which a JNDI server can reference. Typically this is the object that you work with as a DataSource.

  • org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource and org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource40

    Implements the javax.sql.ConnectionPoolDataSource interface. A factory for PooledConnection objects.

  • org.apache.derby.jdbc.EmbeddedXADataSource and org.apache.derby.jdbc.EmbeddedXADataSource40

    's implementation of the javax.sql.XADataSource interface.

See the javadoc for each class for more information.