|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.derby.jdbc.ReferenceableDataSource org.apache.derby.jdbc.EmbeddedDataSource org.apache.derby.jdbc.EmbeddedDataSource40
public class EmbeddedDataSource40
EmbeddedDataSource40 is Derby's DataSource implementation for JDBC4.0.
A DataSource is a factory for Connection objects. An object that implements the DataSource interface will typically be registered with a JNDI service provider.
EmbeddedDataSource40 supports the JDBC 4.0 specification for the J2SE 6.0 Java Virtual Machine environment. Use EmbeddedDataSource if your application is running in one of the following older environments:
The following is a list of properties that can be set on a Derby DataSource object:
Standard DataSource properties (from JDBC 3.0 specification).
databaseName
(String): Mandatory
setDatabaseName("g:/db/wombat")
on the data source object.dataSourceName
(String): Optional
description
(String): Optional
password
(String): Optional
DataSource.getConnection()
,
ConnectionPoolDataSource.getPooledConnection()
and XADataSource.getXAConnection()
methods.
user
(String): Optional
DataSource.getConnection()
,
ConnectionPoolDataSource.getPooledConnection()
and XADataSource.getXAConnection()
methods.
attributesAsPassword
(Boolean): Optional
DataSource.getConnection(String user, String password)
,
ConnectionPoolDataSource.getPooledConnection(String user, String password)
or XADataSource.getXAConnection(String user, String password)
as a set
of connection attributes. The format of the attributes is the same as the format
of the attributes in the property connectionAttributes. If false the password value
is treated normally as the password for the given user.
Setting this property to true allows a connection request from an application to
provide more authentication information that just a password, for example the request
can include the user's password and an encrypted database's boot password.connectionAttributes
(String): Optional
attribute=value
, each separated by semi-colon (';').
E.g. setConnectionAttributes("bootPassword=erd3234dggd3kazkj3000");
.
databaseName
and not by setting the databaseName
connection attribute in the connectionAttributes
property.
createDatabase
(String): Optional
databaseName
if that database does not already
exist. The database is created when a connection object is obtained from
the data source. shutdownDatabase
(String): Optional
Examples.
This is an example of setting a property directly using Derby's EmbeddedDataSource40 object. This code is typically written by a system integrator :
import org.apache.derby.jdbc.*; // dbname is the database name // if create is true, create the database if necessary javax.sql.DataSource makeDataSource (String dbname, boolean create) throws Throwable { EmbeddedDataSource40 ds = new EmbeddedDataSource40(); ds.setDatabaseName(dbname); if (create) ds.setCreateDatabase("create"); return ds; }
Example of setting properties thru reflection. This code is typically generated by tools or written by a system integrator:
javax.sql.DataSource makeDataSource(String dbname) throws Throwable { Class[] parameter = new Class[1]; parameter[0] = dbname.getClass(); DataSource ds = new EmbeddedDataSource40(); Class cl = ds.getClass(); Method setName = cl.getMethod("setDatabaseName", parameter); Object[] arg = new Object[1]; arg[0] = dbname; setName.invoke(ds, arg); return ds; }
Example on how to register a data source object with a JNDI naming service.
DataSource ds = makeDataSource("mydb"); Context ctx = new InitialContext(); ctx.bind("jdbc/MyDB", ds);
Example on how to retrieve a data source object from a JNDI naming service.
Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("jdbc/MyDB");
Constructor Summary | |
---|---|
EmbeddedDataSource40()
|
Method Summary | ||
---|---|---|
boolean |
isWrapperFor(java.lang.Class<?> interfaces)
Returns false unless interfaces is implemented |
|
|
unwrap(java.lang.Class<T> interfaces)
Returns this if this class implements the interface |
Methods inherited from class org.apache.derby.jdbc.EmbeddedDataSource |
---|
equals, getAttributesAsPassword, getConnection, getConnection, getConnectionAttributes, getCreateDatabase, getShutdownDatabase, setAttributesAsPassword, setConnectionAttributes, setCreateDatabase, setShutdownDatabase |
Methods inherited from class org.apache.derby.jdbc.ReferenceableDataSource |
---|
getDatabaseName, getDataSourceName, getDescription, getLoginTimeout, getLogWriter, getObjectInstance, getPassword, getReference, getUser, setDatabaseName, setDataSourceName, setDescription, setLoginTimeout, setLogWriter, setPassword, setUser |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface javax.sql.CommonDataSource |
---|
getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriter |
Constructor Detail |
---|
public EmbeddedDataSource40()
Method Detail |
---|
public boolean isWrapperFor(java.lang.Class<?> interfaces) throws java.sql.SQLException
interfaces
is implemented
interfaces
- a Class defining an interface.
java.sql.SQLException
- if an error occurs while determining
whether this is a wrapper for an object
with the given interface.public <T> T unwrap(java.lang.Class<T> interfaces) throws java.sql.SQLException
this
if this class implements the interface
interfaces
- a Class defining an interface
java.sql.SQLExption
- if no object if found that implements the
interface
java.sql.SQLException
|
Built on Wed 2007-08-01 06:53:39-0700, from revision 561794 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |