Class EmbeddedXADataSource
- All Implemented Interfaces:
Serializable, Wrapper, Referenceable, ObjectFactory, CommonDataSource, DataSource, XADataSource, EmbeddedDataSourceInterface, EmbeddedXADataSourceInterface
- Direct Known Subclasses:
EmbeddedXADataSource40
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:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ResourceAdapterA cached link to the database, set up with the first connection is made.private static final longFields inherited from class BasicEmbeddedDataSource40
attributesAsPassword, connectionAttributes, createDatabase, databaseName, dataSourceName, description, driver, jdbcurl, loginTimeout, shutdownDatabase -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate XAConnectioncreateXAConnection(ResourceAdapter ra, String user, String password, boolean requestPassword) Instantiate and return an EmbedXAConnection from this instance of EmbeddedXADataSource.final XAConnectionAttempt to establish a database connection.final XAConnectiongetXAConnection(String user, String password) Attempt to establish a database connection with the given user name and password.protected voidupdate()UpdateBasicEmbeddedDataSource40.jdbcurlfrom attributes set.Methods inherited from class EmbeddedDataSource
getObjectInstance, getReferenceMethods inherited from class BasicEmbeddedDataSource40
equals, findDriver, 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, setupResourceAdapter, setUser, unwrapMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CommonDataSource
createShardingKeyBuilder, getParentLoggerMethods inherited from interface DataSource
createConnectionBuilder, getConnection, getConnection, getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriterMethods inherited from interface EmbeddedDataSourceInterface
getAttributesAsPassword, getConnectionAttributes, getCreateDatabase, getDatabaseName, getDataSourceName, getDescription, getPassword, getShutdownDatabase, getUser, setAttributesAsPassword, setConnectionAttributes, setCreateDatabase, setDatabaseName, setDataSourceName, setDescription, setPassword, setShutdownDatabase, setUserMethods inherited from interface Wrapper
isWrapperFor, unwrapMethods inherited from interface XADataSource
createXAConnectionBuilder, getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriter
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
ra
A cached link to the database, set up with the first connection is made.
-
-
Constructor Details
-
EmbeddedXADataSource
public EmbeddedXADataSource()no-arg constructor
-
-
Method Details
-
getXAConnection
Attempt to establish a database connection.- Specified by:
getXAConnectionin interfaceXADataSource- Returns:
- a Connection to the database
- Throws:
SQLException- if a database-access error occurs.
-
getXAConnection
Attempt to establish a database connection with the given user name and password.- Specified by:
getXAConnectionin interfaceXADataSource- Parameters:
user- the database user on whose behalf the Connection is being madepassword- the user's password- Returns:
- a Connection to the database
- Throws:
SQLException- if a database-access error occurs.
-
update
protected void update()UpdateBasicEmbeddedDataSource40.jdbcurlfrom attributes set. Also clear the cached value ofra.- Overrides:
updatein classBasicEmbeddedDataSource40
-
createXAConnection
private XAConnection createXAConnection(ResourceAdapter ra, String user, String password, boolean requestPassword) throws SQLException Instantiate and return an EmbedXAConnection from this instance of EmbeddedXADataSource.- Parameters:
ra- The resource adapter to the databaseuser- The user namepassword- The passwordrequestPassword- @falseif original call is from a no-argument constructor, otherwisetrue- Returns:
- An XA connection to the database
- Throws:
SQLException
-
getResourceAdapter
- Specified by:
getResourceAdapterin interfaceEmbeddedXADataSourceInterface- Returns:
- The cached
ResourceAdapterinstance for the underlying database
-