Class BasicClientDataSource40
java.lang.Object
org.apache.derby.jdbc.BasicClientDataSource40
- All Implemented Interfaces:
Serializable, Wrapper, CommonDataSource, DataSource, ClientDataSourceInterface
- Direct Known Subclasses:
BasicClientConnectionPoolDataSource40, BasicClientXADataSource40, ClientDataSource
public class BasicClientDataSource40
extends Object
implements DataSource, ClientDataSourceInterface, Serializable
This data source is suitable for client/server use of Derby,
running on Java 8 Compact Profile 2 or higher.
BasicClientDataSource40 is similar to ClientDataSource except it
can not be used with JNDI, i.e. it does not implement
javax.naming.Referenceable.
* The standard attributes provided are, cf. e.g. table
9.1 in the JDBC 4.2 specification.
- databaseName
- dataSourceName
- description
- password
- user
- networkProtocol
- roleName
- loginTimeout @see javax.sql.CommonDataSource set/get
- logWriter @see javax.sql.CommonDataSource set/get
- createDatabase
- connectionAttributes
- shutdownDatabase
- attributesAsPassword
- retrieveMessageText
- securityMechanism
- traceDirectory
- traceFile
- traceFileAppend
- traceLevel
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final shortSee documentation atUSER_ONLY_SECURITYprivate Stringprivate booleanSet to true if the database should be created.private StringStores the relational database name, RDBNAME.private StringA data source name; used to name an underlying XADataSource, or ConnectionPoolDataSource when pooling of connections is done.private StringA description of this data source.static final shortSee documentation atUSER_ONLY_SECURITYstatic final shortSee documentation atUSER_ONLY_SECURITYprivate intThe time in seconds to wait for a connection request on this data source.private PrintWriterThe log writer is declared transient, and is not serialized or stored under JNDI.private Stringprivate intstatic final intSee documentation atTRACE_NONE.private booleanprivate static final shortprivate shortSecurity Mechanism can be specified explicitly either when obtaining a connection via a DriverManager or via Datasource.private static final longprivate Stringprivate booleanSet to true if the database should be shutdown.static final intThe constant indicating that SSL encryption will be used.private static final Stringstatic final intThe constant indicating that SSL encryption won't be used.private static final Stringstatic final intThe constant indicating that SSL encryption with peer authentication will be used.private static final Stringprivate intstatic final shortSee documentation atUSER_ONLY_SECURITYstatic final intSee documentation atTRACE_NONE.static final intSee documentation atTRACE_NONE.static final intSee documentation atTRACE_NONE.static final intSee documentation atTRACE_NONE.static final intSee documentation atTRACE_NONE.static final intThe client server protocol can be traced.static final intSee documentation atTRACE_NONE.static final intSee documentation atTRACE_NONE.static final intSee documentation atTRACE_NONE.static final intSee documentation atTRACE_NONE.static final intSee documentation atTRACE_NONE.static final intSee documentation atTRACE_NONE.private Stringprivate Stringprivate booleanprivate intprivate intprivate StringThis property can be overwritten by specifing the username parameter on the DataSource.getConnection() method call.static final shortThe source security mechanism to use when connecting to a client data source. -
Constructor Summary
ConstructorsConstructorDescriptionCreates a simple DERBY data source with default property values for a non-pooling, non-distributed environment. -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidcheckBoolean(Properties set, String attribute) private static voidcheckEnumeration(Properties set, String attribute, String[] choices) private static LogWritercomputeDncLogWriter(PrintWriter logWriter, String traceDirectory, String traceFile, boolean traceFileAppend, String logWriterInUseSuffix, int traceFileSuffixIndex, int traceLevel) (package private) static LogWritercomputeDncLogWriterForNewConnection(PrintWriter logWriter, String traceDirectory, String traceFile, boolean traceFileAppend, int traceLevel, String logWriterInUseSuffix, int traceFileSuffixIndex) private LogWritercomputeDncLogWriterForNewConnection(String logWriterInUseSuffix) private static PrintWritercomputePrintWriter(PrintWriter logWriter, String traceDirectory, String traceFile, boolean traceFileAppend, String logWriterInUseSuffix, int traceFileSuffixIndex) private StringConstructs the JDBC connection URL from the state of the data source.static intgetClientSSLMode(Properties properties) Returns the SSL mode specified by the property object.Attempt to establish a database connection in a non-pooling, non-distributed environment.getConnection(String user, String password) Attempt to establish a database connection in a non-pooling, non-distributed environment.private ConnectiongetConnectionX(LogWriter dncLogWriter, String user, String password) int/////////////////////////////////////////////////////////////////static StringgetPassword(Properties properties) protected final PooledConnectionprotected final PooledConnectiongetPooledConnectionMinion(String user, String password) private static PooledConnectiongetPooledConnectionX(LogWriter dncLogWriter, BasicClientDataSource40 ds, String user, String password) intprivate static PrintWritergetPrintWriter(String fileName, boolean fileAppend) static Propertiesbooleanstatic booleangetRetrieveMessageText(Properties properties) shortReturn the security mechanism.shortgetSecurityMechanism(String password) Return the security mechanism for this datasource object.static shortgetSecurityMechanism(Properties properties) Return security mechanism if it is set, else upgrade the security mechanism if possible and return the upgraded security mechanismgetSsl()Returns the SSL encryption mode specified for the data source.static intParses the string and returns the corresponding constant for the SSL mode denoted.(package private) static StringgetTraceDirectory(Properties properties) Check if derby.client.traceDirectory is provided as a JVM property.(package private) static StringgetTraceFile(Properties properties) boolean(package private) static booleangetTraceFileAppend(Properties properties) int(package private) static intgetTraceLevel(Properties properties) Check if derby.client.traceLevel is provided as a JVM property.private static shortgetUpgradedSecurityMechanism(String password) This method has logic to upgrade security mechanism to a better (more secure) one if it is possible.getUser()static StringgetUser(Properties properties) protected final XAConnectionprotected final XAConnectiongetXAConnectionMinion(String user, String password) private static XAConnectiongetXAConnectionX(LogWriter dncLogWriter, BasicClientDataSource40 ds, String user, String password) Method that establishes the initial physical connection using DS properties instead of CPDS properties.private voidhandleConnectionException(LogWriter logWriter, SqlException sqle) Handles common error situations that can happen when trying to obtain a physical connection to the server, and which require special handling.booleanisWrapperFor(Class<?> iface) Check whether this instance wraps an object that implements the interface specified byiface.intReturns the maximum number of JDBC prepared statements a connection is allowed to cache.private static booleanparseBoolean(String boolString, boolean defaultBool) private static intprivate static StringparseString(String string, String defaultString) private static StringreadSystemProperty(String key) Read the value of the passed system property.voidSet this property to pass in more Derby specific connection URL attributes.voidsetCreateDatabase(String create) Set this property to create a new database.voidsetDatabaseName(String databaseName) voidsetDataSourceName(String dataSourceName) voidsetDescription(String description) voidsetLoginTimeout(int seconds) voidsetLogWriter(PrintWriter logWriter) voidsetPassword(String password) voidsetPortNumber(int portNumber) voidsetRetrieveMessageText(boolean retrieveMessageText) voidsetSecurityMechanism(short securityMechanism) Sets the security mechanism.voidsetServerName(String serverName) voidsetShutdownDatabase(String shutdown) Set this property if one wishes to shutdown the database identified by databaseName.voidSpecifies the SSL encryption mode to use.voidsetTraceDirectory(String traceDirectory) voidsetTraceFile(String traceFile) voidsetTraceFileAppend(boolean traceFileAppend) voidsetTraceLevel(int traceLevel) void(package private) static PropertiestokenizeAttributes(String attributeString, Properties properties) <T> TReturnsthisif this class implements the specified interface.private voidThe dataSource keeps individual fields for the values that are relevant to the client.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CommonDataSource
createShardingKeyBuilderMethods inherited from interface DataSource
createConnectionBuilder
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
className__
- See Also:
-
TRACE_NONE
public static final int TRACE_NONEThe client server protocol can be traced. The constants below define the tracing level, cf. the documentation section "Network Client Tracing" in the "Derby Server and Administration Guide". Cf. the connection attribute (or data source bean property)traceLevel.TRACE_NONE TRACE_CONNECTION_CALLS TRACE_STATEMENT_CALLS TRACE_RESULT_SET_CALLS TRACE _DRIVER_CONFIGURATION TRACE_CONNECTS TRACE_PROTOCOL_FLOWS TRACE _RESULT_SET_META_DATA TRACE _PARAMETER_META_DATA TRACE_DIAGNOSTICS TRACE_XA_CALLS TRACE_ALL
- See Also:
-
TRACE_CONNECTION_CALLS
-
TRACE_STATEMENT_CALLS
-
TRACE_RESULT_SET_CALLS
-
TRACE_DRIVER_CONFIGURATION
-
TRACE_CONNECTS
-
TRACE_PROTOCOL_FLOWS
-
TRACE_RESULT_SET_META_DATA
-
TRACE_PARAMETER_META_DATA
-
TRACE_DIAGNOSTICS
-
TRACE_XA_CALLS
-
TRACE_ALL
-
propertyDefault_traceLevel
-
USER_ONLY_SECURITY
public static final short USER_ONLY_SECURITYThe source security mechanism to use when connecting to a client data source. Security mechanism options are:- USER_ONLY_SECURITY
- CLEAR_TEXT_PASSWORD_SECURITY
- ENCRYPTED_PASSWORD_SECURITY
- ENCRYPTED_USER_AND_PASSWORD_SECURITY - both password and user are encrypted
- STRONG_PASSWORD_SUBSTITUTE_SECURITY
- See Also:
-
CLEAR_TEXT_PASSWORD_SECURITY
public static final short CLEAR_TEXT_PASSWORD_SECURITYSee documentation atUSER_ONLY_SECURITY- See Also:
-
ENCRYPTED_PASSWORD_SECURITY
public static final short ENCRYPTED_PASSWORD_SECURITYSee documentation atUSER_ONLY_SECURITY- See Also:
-
ENCRYPTED_USER_AND_PASSWORD_SECURITY
public static final short ENCRYPTED_USER_AND_PASSWORD_SECURITYSee documentation atUSER_ONLY_SECURITY- See Also:
-
STRONG_PASSWORD_SUBSTITUTE_SECURITY
public static final short STRONG_PASSWORD_SUBSTITUTE_SECURITYSee documentation atUSER_ONLY_SECURITY- See Also:
-
loginTimeout
private int loginTimeoutThe time in seconds to wait for a connection request on this data source. The default value of zero indicates that either the system time out be used or no timeout limit. -
logWriter
The log writer is declared transient, and is not serialized or stored under JNDI.- See Also:
-
databaseName
Stores the relational database name, RDBNAME. The length of the database name may be limited to 18 bytes and therefore may throw an SQLException. -
description
A description of this data source. -
dataSourceName
A data source name; used to name an underlying XADataSource, or ConnectionPoolDataSource when pooling of connections is done. -
portNumber
private int portNumber -
serverName
-
SSL_OFF
public static final int SSL_OFFThe constant indicating that SSL encryption won't be used.- See Also:
-
SSL_OFF_STR
- See Also:
-
SSL_BASIC
public static final int SSL_BASICThe constant indicating that SSL encryption will be used.- See Also:
-
SSL_BASIC_STR
- See Also:
-
SSL_PEER_AUTHENTICATION
public static final int SSL_PEER_AUTHENTICATIONThe constant indicating that SSL encryption with peer authentication will be used.- See Also:
-
SSL_PEER_AUTHENTICATION_STR
- See Also:
-
user
This property can be overwritten by specifing the username parameter on the DataSource.getConnection() method call. If user is specified, then password must also be specified, either in the data source object or provided on the DataSource.getConnection() call. Each data source implementation subclass will maintain it's ownpasswordproperty. This password property may or may not be declared transient, and therefore may be serialized to a file in clear-text, care must taken by the user to prevent security breaches. Derby-406 fix -
SECMEC_HAS_NOT_EXPLICITLY_SET
private static final short SECMEC_HAS_NOT_EXPLICITLY_SET- See Also:
-
securityMechanism
private short securityMechanismSecurity Mechanism can be specified explicitly either when obtaining a connection via a DriverManager or via Datasource. Via DriverManager, securityMechanism can be set on the connection request using the 'securityMechanism' attribute. Via DataSource, securityMechanism can be set by calling setSecurityMechanism() on the ClientDataSource If the security mechanism is not explicitly set as mentioned above, in that case the Client will try to upgrade the security mechanism to a more secure one, if possible. SeegetUpgradedSecurityMechanism(String). Therefore, need to keep track if the securityMechanism has been explicitly set. -
retrieveMessageText
private boolean retrieveMessageText -
traceFile
-
traceFileSuffixIndex_
private transient int traceFileSuffixIndex_ -
traceDirectory
-
traceFileAppend
private boolean traceFileAppend -
password
-
sslMode
private int sslMode -
createDatabase
private boolean createDatabaseSet to true if the database should be created. -
shutdownDatabase
private boolean shutdownDatabaseSet to true if the database should be shutdown. -
connectionAttributes
-
traceLevel
private int traceLevel
-
-
Constructor Details
-
BasicClientDataSource40
public BasicClientDataSource40()Creates a simple DERBY data source with default property values for a non-pooling, non-distributed environment. No particular DatabaseName or other properties are associated with the data source. Every Java Bean should provide a constructor with no arguments since many beanboxes attempt to instantiate a bean by invoking its no-argument constructor.
-
-
Method Details
-
setLoginTimeout
public void setLoginTimeout(int seconds) - Specified by:
setLoginTimeoutin interfaceCommonDataSource- Specified by:
setLoginTimeoutin interfaceDataSource
-
getLoginTimeout
public int getLoginTimeout()- Specified by:
getLoginTimeoutin interfaceCommonDataSource- Specified by:
getLoginTimeoutin interfaceDataSource
-
setLogWriter
- Specified by:
setLogWriterin interfaceCommonDataSource- Specified by:
setLogWriterin interfaceDataSource
-
getLogWriter
- Specified by:
getLogWriterin interfaceCommonDataSource- Specified by:
getLogWriterin interfaceDataSource
-
getSSLModeFromString
Parses the string and returns the corresponding constant for the SSL mode denoted.Valid values are off, basic and peerAuthentication.
- Parameters:
s- string denoting the SSL mode- Returns:
- A constant indicating the SSL mode denoted by the string. If the
string is
null,SSL_OFFis returned. - Throws:
SqlException- if the string has an invalid value
-
getClientSSLMode
Returns the SSL mode specified by the property object.- Parameters:
properties- data source properties- Returns:
- A constant indicating the SSL mode to use. Defaults to
SSL_OFFif the SSL attribute isn't specified. - Throws:
SqlException- if an invalid value for the SSL mode is specified in the property object
-
getUser
-
getSecurityMechanism
Return security mechanism if it is set, else upgrade the security mechanism if possible and return the upgraded security mechanism- Parameters:
properties- Look in the properties if securityMechanism is set or not if set, return this security mechanism- Returns:
- security mechanism
-
getUpgradedSecurityMechanism
This method has logic to upgrade security mechanism to a better (more secure) one if it is possible. Currently derby server only has support for USRIDPWD, USRIDONL, EUSRIDPWD and USRSSBPWD (10.2+) - this method only considers these possibilities. USRIDPWD, EUSRIDPWD and USRSSBPWD require a password, USRIDONL is the only security mechanism which does not require password. 1. if password is not available, then security mechanism possible is USRIDONL 2. if password is available,then USRIDPWD is returned.- Parameters:
password- password argument- Returns:
- upgraded security mechanism if possible
-
getRetrieveMessageText
-
getTraceFile
-
getTraceDirectory
Check if derby.client.traceDirectory is provided as a JVM property. If yes, then we use that value. If not, then we look for traceDirectory in the the properties parameter.- Parameters:
properties- jdbc url properties- Returns:
- value of traceDirectory property
-
readSystemProperty
Read the value of the passed system property. If we are running under the Java security manager and permission to read the property is missing,a null is returned, and no diagnostic is given (DERBY-6620).- Parameters:
key- name of the system property- Returns:
- value of the system property, null if there is no permission to read the property
-
getTraceFileAppend
-
getPassword
-
setPassword
- Specified by:
setPasswordin interfaceClientDataSourceInterface
-
getPassword
- Specified by:
getPasswordin interfaceClientDataSourceInterface
-
computeDncLogWriterForNewConnection
private LogWriter computeDncLogWriterForNewConnection(String logWriterInUseSuffix) throws SqlException - Throws:
SqlException
-
computeDncLogWriterForNewConnection
static LogWriter computeDncLogWriterForNewConnection(PrintWriter logWriter, String traceDirectory, String traceFile, boolean traceFileAppend, int traceLevel, String logWriterInUseSuffix, int traceFileSuffixIndex) throws SqlException - Throws:
SqlException
-
computeDncLogWriter
private static LogWriter computeDncLogWriter(PrintWriter logWriter, String traceDirectory, String traceFile, boolean traceFileAppend, String logWriterInUseSuffix, int traceFileSuffixIndex, int traceLevel) throws SqlException - Throws:
SqlException
-
computePrintWriter
private static PrintWriter computePrintWriter(PrintWriter logWriter, String traceDirectory, String traceFile, boolean traceFileAppend, String logWriterInUseSuffix, int traceFileSuffixIndex) throws SqlException - Throws:
SqlException
-
getPrintWriter
- Throws:
SqlException
-
parseBoolean
-
parseString
-
parseInt
-
tokenizeAttributes
static Properties tokenizeAttributes(String attributeString, Properties properties) throws SqlException - Throws:
SqlException
-
checkBoolean
- Throws:
SqlException
-
checkEnumeration
private static void checkEnumeration(Properties set, String attribute, String[] choices) throws SqlException - Throws:
SqlException
-
setDatabaseName
- Specified by:
setDatabaseNamein interfaceClientDataSourceInterface
-
getDatabaseName
- Specified by:
getDatabaseNamein interfaceClientDataSourceInterface
-
setDataSourceName
- Specified by:
setDataSourceNamein interfaceClientDataSourceInterface
-
getDataSourceName
- Specified by:
getDataSourceNamein interfaceClientDataSourceInterface
-
setDescription
- Specified by:
setDescriptionin interfaceClientDataSourceInterface
-
getDescription
- Specified by:
getDescriptionin interfaceClientDataSourceInterface
-
setPortNumber
public void setPortNumber(int portNumber) - Specified by:
setPortNumberin interfaceClientDataSourceInterface
-
getPortNumber
public int getPortNumber()- Specified by:
getPortNumberin interfaceClientDataSourceInterface
-
setServerName
- Specified by:
setServerNamein interfaceClientDataSourceInterface
-
getServerName
- Specified by:
getServerNamein interfaceClientDataSourceInterface
-
setUser
- Specified by:
setUserin interfaceClientDataSourceInterface
-
getUser
- Specified by:
getUserin interfaceClientDataSourceInterface
-
setRetrieveMessageText
public void setRetrieveMessageText(boolean retrieveMessageText) - Specified by:
setRetrieveMessageTextin interfaceClientDataSourceInterface
-
getRetrieveMessageText
public boolean getRetrieveMessageText()- Specified by:
getRetrieveMessageTextin interfaceClientDataSourceInterface
-
setSecurityMechanism
public void setSecurityMechanism(short securityMechanism) Sets the security mechanism.- Specified by:
setSecurityMechanismin interfaceClientDataSourceInterface- Parameters:
securityMechanism- to set
-
getSecurityMechanism
public short getSecurityMechanism()Return the security mechanism. If security mechanism has not been set explicitly on datasource, then upgrade the security mechanism to a more secure one if possible.- Specified by:
getSecurityMechanismin interfaceClientDataSourceInterface- Returns:
- the security mechanism
- See Also:
-
getSecurityMechanism
Return the security mechanism for this datasource object. If security mechanism has not been set explicitly on datasource, then upgrade the security mechanism to a more secure one if possible.- Specified by:
getSecurityMechanismin interfaceClientDataSourceInterface- Parameters:
password- password of user- Returns:
- the security mechanism
- See Also:
-
setSsl
Specifies the SSL encryption mode to use.Valid values are off, basic and peerAuthentication.
- Specified by:
setSslin interfaceClientDataSourceInterface- Parameters:
mode- the SSL mode to use (off, basic or peerAuthentication)- Throws:
SqlException- if the specified mode is invalid
-
getSsl
Returns the SSL encryption mode specified for the data source.- Specified by:
getSslin interfaceClientDataSourceInterface- Returns:
- off, basic or peerAuthentication.
-
setCreateDatabase
Set this property to create a new database. If this property is not set, the database (identified by databaseName) is assumed to be already existing.- Specified by:
setCreateDatabasein interfaceClientDataSourceInterface- Parameters:
create- if set to the string "create", this data source will try to create a new database of databaseName, or boot the database if one by that name already exists.
-
getCreateDatabase
- Specified by:
getCreateDatabasein interfaceClientDataSourceInterface- Returns:
- "create" if create is set, or null if not
-
setShutdownDatabase
Set this property if one wishes to shutdown the database identified by databaseName.- Specified by:
setShutdownDatabasein interfaceClientDataSourceInterface- Parameters:
shutdown- if set to the string "shutdown", this data source will shutdown the database if it is running.
-
getShutdownDatabase
- Specified by:
getShutdownDatabasein interfaceClientDataSourceInterface- Returns:
- "shutdown" if shutdown is set, or null if not
-
setConnectionAttributes
Set this property to pass in more Derby specific connection URL attributes.
Any attributes that can be set using a property of this DataSource implementation (e.g user, password) should not be set in connectionAttributes. Conflicting settings in connectionAttributes and properties of the DataSource will lead to unexpected behaviour.- Specified by:
setConnectionAttributesin interfaceClientDataSourceInterface- Parameters:
prop- set to the list of Derby connection attributes separated by semi-colons. E.g., to specify an encryption bootPassword of "x8hhk2adf", and set upgrade to true, do the following:
ds.setConnectionAttributes("bootPassword=x8hhk2adf;upgrade=true");See Derby documentation for complete list.
-
getConnectionAttributes
- Specified by:
getConnectionAttributesin interfaceClientDataSourceInterface- Returns:
- Derby specific connection URL attributes
-
getTraceLevel
Check if derby.client.traceLevel is provided as a JVM property. If yes, then we use that value. If not, then we look for traceLevel in the the properties parameter.- Parameters:
properties- jdbc url properties- Returns:
- value of traceLevel property
-
setTraceLevel
public void setTraceLevel(int traceLevel) - Specified by:
setTraceLevelin interfaceClientDataSourceInterface
-
getTraceLevel
public int getTraceLevel()- Specified by:
getTraceLevelin interfaceClientDataSourceInterface
-
setTraceFile
- Specified by:
setTraceFilein interfaceClientDataSourceInterface
-
getTraceFile
- Specified by:
getTraceFilein interfaceClientDataSourceInterface
-
setTraceDirectory
- Specified by:
setTraceDirectoryin interfaceClientDataSourceInterface
-
getTraceDirectory
- Specified by:
getTraceDirectoryin interfaceClientDataSourceInterface
-
setTraceFileAppend
public void setTraceFileAppend(boolean traceFileAppend) - Specified by:
setTraceFileAppendin interfaceClientDataSourceInterface
-
getTraceFileAppend
public boolean getTraceFileAppend()- Specified by:
getTraceFileAppendin interfaceClientDataSourceInterface
-
maxStatementsToPool
public int maxStatementsToPool()Returns the maximum number of JDBC prepared statements a connection is allowed to cache.A basic data source will always return zero. If statement caching is required, use a
ConnectionPoolDataSource.This method is used internally by Derby to determine if statement pooling is to be enabled or not. Not part of public API, so not present in
ClientDataSourceInterface.- Returns:
- Maximum number of statements to cache, or
0if caching is disabled (default).
-
updateDataSourceValues
The dataSource keeps individual fields for the values that are relevant to the client. These need to be updated when set connection attributes is called.- Throws:
SqlException
-
handleConnectionException
Handles common error situations that can happen when trying to obtain a physical connection to the server, and which require special handling.If this method returns normally, the exception wasn't handled and should be handled elsewhere or be re-thrown.
- Parameters:
logWriter- log writer, may benullsqle- exception to handle- Throws:
SQLException- handled exception (if any)
-
constructUrl
Constructs the JDBC connection URL from the state of the data source.- Returns:
- The JDBC connection URL.
-
getConnection
Attempt to establish a database connection in a non-pooling, non-distributed environment.- Specified by:
getConnectionin interfaceDataSource- Returns:
- a Connection to the database
- Throws:
SQLException- if a database-access error occurs.
-
getConnection
Attempt to establish a database connection in a non-pooling, non-distributed environment.- Specified by:
getConnectionin interfaceDataSource- 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.
-
getConnectionX
private Connection getConnectionX(LogWriter dncLogWriter, String user, String password) throws SqlException - Throws:
SqlException
-
isWrapperFor
Check whether this instance wraps an object that implements the interface specified byiface.- Specified by:
isWrapperForin interfaceWrapper- Parameters:
iface- a class defining an interface- Returns:
trueif this instance implementsiface, orfalseotherwise- Throws:
SQLException- if an error occurs while determining if this instance implementsiface
-
unwrap
Returnsthisif this class implements the specified interface.- Specified by:
unwrapin interfaceWrapper- Parameters:
iface- a class defining an interface- Returns:
- an object that implements the interface
- Throws:
SQLException- if no object is found that implements the interface
-
getParentLogger
/////////////////////////////////////////////////////////////////- Specified by:
getParentLoggerin interfaceCommonDataSource- Throws:
SQLFeatureNotSupportedException
-
getPooledConnectionMinion
- Throws:
SQLException
-
getPooledConnectionMinion
protected final PooledConnection getPooledConnectionMinion(String user, String password) throws SQLException - Throws:
SQLException
-
getPooledConnectionX
private static PooledConnection getPooledConnectionX(LogWriter dncLogWriter, BasicClientDataSource40 ds, String user, String password) throws SQLException - Throws:
SQLException
-
getXAConnectionMinion
- Throws:
SQLException
-
getXAConnectionMinion
protected final XAConnection getXAConnectionMinion(String user, String password) throws SQLException - Throws:
SQLException
-
getXAConnectionX
private static XAConnection getXAConnectionX(LogWriter dncLogWriter, BasicClientDataSource40 ds, String user, String password) throws SQLException Method that establishes the initial physical connection using DS properties instead of CPDS properties.- Throws:
SQLException
-
getProperties
-