| java.lang.Object org.apache.derby.jdbc.ClientBaseDataSource org.apache.derby.jdbc.ClientDataSource org.apache.derby.jdbc.ClientDataSource40
ClientDataSource40 | public class ClientDataSource40 extends ClientDataSource (Code) | | ClientDataSource40 is a simple data source implementation
that can be used for establishing connections in a
non-pooling, non-distributed environment.
The class ClientConnectionPoolDataSource40 can be used in a connection pooling environment,
and the class ClientXADataSource40 can be used in a distributed, and pooling
environment. Use these DataSources if your application runs under
JDBC4.0. Use the corresponding ClientDataSource, ClientConnectionPoolDataSource, and
ClientXADataSource classes if
your application runs in the following environments:
- JDBC 3.0 - Java 2 - JDK 1.4, J2SE 5.0
- JDBC 2.0 - Java 2 - JDK 1.2,1.3
The example below registers a DNC data source object with a JNDI naming service.
org.apache.derby.client.ClientDataSource40 dataSource = new org.apache.derby.client.ClientDataSource40 ();
dataSource.setServerName ("my_derby_database_server");
dataSource.setDatabaseName ("my_derby_database_name");
javax.naming.Context context = new javax.naming.InitialContext();
context.bind ("jdbc/my_datasource_name", dataSource);
The first line of code in the example creates a data source object.
The next two lines initialize the data source's
properties. Then a Java object that references the initial JNDI naming
context is created by calling the
InitialContext() constructor, which is provided by JNDI.
System properties (not shown) are used to tell JNDI the
service provider to use. The JNDI name space is hierarchical,
similar to the directory structure of many file
systems. The data source object is bound to a logical JNDI name
by calling Context.bind(). In this case the JNDI name
identifies a subcontext, "jdbc", of the root naming context
and a logical name, "my_datasource_name", within the jdbc
subcontext. This is all of the code required to deploy
a data source object within JNDI. This example is provided
mainly for illustrative purposes. We expect that developers
or system administrators will normally use a GUI tool to
deploy a data source object.
Once a data source has been registered with JNDI,
it can then be used by a JDBC application, as is shown in the
following example.
javax.naming.Context context = new javax.naming.InitialContext ();
javax.sql.DataSource dataSource = (javax.sql.DataSource) context.lookup ("jdbc/my_datasource_name");
java.sql.Connection connection = dataSource.getConnection ("user", "password");
The first line in the example creates a Java object
that references the initial JNDI naming context. Next, the
initial naming context is used to do a lookup operation
using the logical name of the data source. The
Context.lookup() method returns a reference to a Java Object,
which is narrowed to a javax.sql.DataSource object. In
the last line, the DataSource.getConnection() method
is called to produce a database connection.
This simple data source subclass of ClientBaseDataSource maintains
it's own private password property.
The specified password, along with the user, is validated by DERBY.
This property can be overwritten by specifing
the password parameter on the DataSource.getConnection() method call.
This password property is not declared transient, and therefore
may be serialized to a file in clear-text, or stored
to a JNDI server in clear-text when the data source is saved.
Care must taken by the user to prevent security
breaches.
|
Method Summary | |
public boolean | isWrapperFor(Class> interfaces) Returns false unless interfaces is implemented
Parameters: interfaces - a Class defining an interface. | public T | unwrap(java.lang.Class<T> interfaces) |
ClientDataSource40 | public ClientDataSource40()(Code) | | |
isWrapperFor | public boolean isWrapperFor(Class> interfaces) throws SQLException(Code) | | Returns false unless interfaces is implemented
Parameters: interfaces - a Class defining an interface. true if this implements the interface or directly or indirectly wraps an object that does. throws: java.sql.SQLException - if an error occurs while determining whether this is a wrapper for an object with the given interface. |
unwrap | public T unwrap(java.lang.Class<T> interfaces) throws SQLException(Code) | | Returns this if this class implements the interface
Parameters: interfaces - a Class defining an interface an object that implements the interface throws: java.sql.SQLExption - if no object if found that implements the interface |
Fields inherited from org.apache.derby.jdbc.ClientDataSource | final public static String className__(Code)(Java Doc)
|
Methods inherited from org.apache.derby.jdbc.ClientBaseDataSource | static LogWriter computeDncLogWriter(PrintWriter logWriter, String traceDirectory, String traceFile, boolean traceFileAppend, String logWriterInUseSuffix, int traceFileSuffixIndex, int traceLevel) throws SqlException(Code)(Java Doc) public static LogWriter computeDncLogWriter(Connection connection, PrintWriter logWriter, String traceDirectory, String traceFile, boolean traceFileAppend, String logWriterInUseSuffix, int traceFileSuffixIndex, int traceLevel) throws SqlException(Code)(Java Doc) LogWriter computeDncLogWriterForNewConnection(String logWriterInUseSuffix) throws SqlException(Code)(Java Doc) static LogWriter computeDncLogWriterForNewConnection(PrintWriter logWriter, String traceDirectory, String traceFile, boolean traceFileAppend, int traceLevel, String logWriterInUseSuffix, int traceFileSuffixIndex) throws SqlException(Code)(Java Doc) static PrintWriter computePrintWriter(PrintWriter logWriter, String traceDirectory, String traceFile, boolean traceFileAppend, String logWriterInUseSuffix, int traceFileSuffixIndex) throws SqlException(Code)(Java Doc) final public String getConnectionAttributes()(Code)(Java Doc) public String getDataSourceName()(Code)(Java Doc) public String getDatabaseName()(Code)(Java Doc) public String getDescription()(Code)(Java Doc) public PrintWriter getLogWriter()(Code)(Java Doc) public int getLoginTimeout()(Code)(Java Doc) public static String getPassword(Properties properties)(Code)(Java Doc) final public String getPassword()(Code)(Java Doc) public int getPortNumber()(Code)(Java Doc) public Reference getReference() throws NamingException(Code)(Java Doc) public static boolean getRetrieveMessageText(Properties properties)(Code)(Java Doc) public boolean getRetrieveMessageText()(Code)(Java Doc) public static short getSecurityMechanism(Properties properties)(Code)(Java Doc) public short getSecurityMechanism()(Code)(Java Doc) public short getSecurityMechanism(String password)(Code)(Java Doc) public String getServerName()(Code)(Java Doc) public static String getTraceDirectory(Properties properties)(Code)(Java Doc) public String getTraceDirectory()(Code)(Java Doc) public static String getTraceFile(Properties properties)(Code)(Java Doc) public String getTraceFile()(Code)(Java Doc) public static boolean getTraceFileAppend(Properties properties)(Code)(Java Doc) public boolean getTraceFileAppend()(Code)(Java Doc) public static int getTraceLevel(Properties properties)(Code)(Java Doc) public int getTraceLevel()(Code)(Java Doc) public static short getUpgradedSecurityMechanism(String password)(Code)(Java Doc) public static String getUser(Properties properties)(Code)(Java Doc) public String getUser()(Code)(Java Doc) final public void setConnectionAttributes(String prop)(Code)(Java Doc) public synchronized void setDataSourceName(String dataSourceName)(Code)(Java Doc) public synchronized void setDatabaseName(String databaseName)(Code)(Java Doc) public synchronized void setDescription(String description)(Code)(Java Doc) public synchronized void setLogWriter(PrintWriter logWriter)(Code)(Java Doc) public synchronized void setLoginTimeout(int seconds)(Code)(Java Doc) final public synchronized void setPassword(String password)(Code)(Java Doc) public synchronized void setPortNumber(int portNumber)(Code)(Java Doc) public synchronized void setRetrieveMessageText(boolean retrieveMessageText)(Code)(Java Doc) public synchronized void setSecurityMechanism(short securityMechanism)(Code)(Java Doc) public synchronized void setServerName(String serverName)(Code)(Java Doc) public synchronized void setTraceDirectory(String traceDirectory)(Code)(Java Doc) public synchronized void setTraceFile(String traceFile)(Code)(Java Doc) public synchronized void setTraceFileAppend(boolean traceFileAppend)(Code)(Java Doc) public synchronized void setTraceLevel(int traceLevel)(Code)(Java Doc) public synchronized void setUser(String user)(Code)(Java Doc) static Properties tokenizeAttributes(String attributeString, Properties properties) throws SqlException(Code)(Java Doc) void updateDataSourceValues(Properties prop)(Code)(Java Doc)
|
|
|