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 ResourceAdapter
A cached link to the database, set up with the first connection is made.private static final long
Fields inherited from class org.apache.derby.jdbc.BasicEmbeddedDataSource40
attributesAsPassword, connectionAttributes, createDatabase, databaseName, dataSourceName, description, driver, jdbcurl, loginTimeout, shutdownDatabase
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate XAConnection
createXAConnection
(ResourceAdapter ra, String user, String password, boolean requestPassword) Instantiate and return an EmbedXAConnection from this instance of EmbeddedXADataSource.final XAConnection
Attempt to establish a database connection.final XAConnection
getXAConnection
(String user, String password) Attempt to establish a database connection with the given user name and password.protected void
update()
UpdateBasicEmbeddedDataSource40.jdbcurl
from attributes set.Methods inherited from class org.apache.derby.jdbc.EmbeddedDataSource
getObjectInstance, getReference
Methods inherited from class org.apache.derby.jdbc.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, unwrap
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface javax.sql.CommonDataSource
createShardingKeyBuilder, getParentLogger
Methods inherited from interface javax.sql.DataSource
createConnectionBuilder, getConnection, getConnection, getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriter
Methods inherited from interface org.apache.derby.jdbc.EmbeddedDataSourceInterface
getAttributesAsPassword, getConnectionAttributes, getCreateDatabase, getDatabaseName, getDataSourceName, getDescription, getPassword, getShutdownDatabase, getUser, setAttributesAsPassword, setConnectionAttributes, setCreateDatabase, setDatabaseName, setDataSourceName, setDescription, setPassword, setShutdownDatabase, setUser
Methods inherited from interface java.sql.Wrapper
isWrapperFor, unwrap
Methods inherited from interface javax.sql.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:
getXAConnection
in 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:
getXAConnection
in 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.jdbcurl
from attributes set. Also clear the cached value ofra
.- Overrides:
update
in 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
- @false
if original call is from a no-argument constructor, otherwisetrue
- Returns:
- An XA connection to the database
- Throws:
SQLException
-
getResourceAdapter
- Specified by:
getResourceAdapter
in interfaceEmbeddedXADataSourceInterface
- Returns:
- The cached
ResourceAdapter
instance for the underlying database
-