Package org.apache.derby.jdbc
Class BasicClientDataSource40
java.lang.Object
org.apache.derby.jdbc.BasicClientDataSource40
- All Implemented Interfaces:
Serializable,Wrapper,CommonDataSource,DataSource,org.apache.derby.jdbc.ClientDataSourceInterface
- Direct Known Subclasses:
BasicClientConnectionPoolDataSource40,BasicClientXADataSource40,ClientDataSource
public class BasicClientDataSource40
extends Object
implements DataSource, org.apache.derby.jdbc.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_SECURITYstatic final shortSee documentation atUSER_ONLY_SECURITYstatic final shortSee documentation atUSER_ONLY_SECURITYstatic final intSee documentation atTRACE_NONE.static final intThe constant indicating that SSL encryption will be used.static final intThe constant indicating that SSL encryption won't be used.static final intThe constant indicating that SSL encryption with peer authentication will be used.static 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.static final shortThe source security mechanism to use when connecting to a client data source.Fields inherited from interface org.apache.derby.jdbc.ClientDataSourceInterface
propertyDefault_portNumber, propertyDefault_retrieveMessageText, propertyDefault_securityMechanism, propertyDefault_serverName, propertyDefault_traceFileAppend, propertyDefault_user -
Constructor Summary
ConstructorsConstructorDescriptionCreates a simple DERBY data source with default property values for a non-pooling, non-distributed environment. -
Method Summary
Modifier and TypeMethodDescriptionstatic 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.intstatic StringgetPassword(Properties properties) intstatic 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.booleanintgetUser()static StringgetUser(Properties properties) 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.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<T> TReturnsthisif this class implements the specified interface.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface javax.sql.CommonDataSource
createShardingKeyBuilderMethods inherited from interface javax.sql.DataSource
createConnectionBuilder
-
Field Details
-
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
public static final int TRACE_CONNECTION_CALLSSee documentation atTRACE_NONE.- See Also:
-
TRACE_STATEMENT_CALLS
public static final int TRACE_STATEMENT_CALLSSee documentation atTRACE_NONE.- See Also:
-
TRACE_RESULT_SET_CALLS
public static final int TRACE_RESULT_SET_CALLSSee documentation atTRACE_NONE.- See Also:
-
TRACE_DRIVER_CONFIGURATION
public static final int TRACE_DRIVER_CONFIGURATIONSee documentation atTRACE_NONE.- See Also:
-
TRACE_CONNECTS
public static final int TRACE_CONNECTSSee documentation atTRACE_NONE.- See Also:
-
TRACE_PROTOCOL_FLOWS
public static final int TRACE_PROTOCOL_FLOWSSee documentation atTRACE_NONE.- See Also:
-
TRACE_RESULT_SET_META_DATA
public static final int TRACE_RESULT_SET_META_DATASee documentation atTRACE_NONE.- See Also:
-
TRACE_PARAMETER_META_DATA
public static final int TRACE_PARAMETER_META_DATASee documentation atTRACE_NONE.- See Also:
-
TRACE_DIAGNOSTICS
public static final int TRACE_DIAGNOSTICSSee documentation atTRACE_NONE.- See Also:
-
TRACE_XA_CALLS
public static final int TRACE_XA_CALLSSee documentation atTRACE_NONE.- See Also:
-
TRACE_ALL
public static final int TRACE_ALLSee documentation atTRACE_NONE.- See Also:
-
propertyDefault_traceLevel
public static final int propertyDefault_traceLevelSee documentation atTRACE_NONE.- See Also:
-
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:
-
SSL_OFF
public static final int SSL_OFFThe constant indicating that SSL encryption won't be used.- See Also:
-
SSL_BASIC
public static final int SSL_BASICThe constant indicating that SSL encryption will be used.- 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:
-
-
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:
org.apache.derby.client.am.SqlException- if the string has an invalid value
-
getClientSSLMode
public static int getClientSSLMode(Properties properties) throws org.apache.derby.client.am.SqlException 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:
org.apache.derby.client.am.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
-
getRetrieveMessageText
-
getPassword
-
setPassword
- Specified by:
setPasswordin interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
getPassword
- Specified by:
getPasswordin interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
setDatabaseName
- Specified by:
setDatabaseNamein interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
getDatabaseName
- Specified by:
getDatabaseNamein interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
setDataSourceName
- Specified by:
setDataSourceNamein interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
getDataSourceName
- Specified by:
getDataSourceNamein interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
setDescription
- Specified by:
setDescriptionin interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
getDescription
- Specified by:
getDescriptionin interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
setPortNumber
public void setPortNumber(int portNumber) - Specified by:
setPortNumberin interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
getPortNumber
public int getPortNumber()- Specified by:
getPortNumberin interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
setServerName
- Specified by:
setServerNamein interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
getServerName
- Specified by:
getServerNamein interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
setUser
- Specified by:
setUserin interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
getUser
- Specified by:
getUserin interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
setRetrieveMessageText
public void setRetrieveMessageText(boolean retrieveMessageText) - Specified by:
setRetrieveMessageTextin interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
getRetrieveMessageText
public boolean getRetrieveMessageText()- Specified by:
getRetrieveMessageTextin interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
setSecurityMechanism
public void setSecurityMechanism(short securityMechanism) Sets the security mechanism.- Specified by:
setSecurityMechanismin interfaceorg.apache.derby.jdbc.ClientDataSourceInterface- 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 interfaceorg.apache.derby.jdbc.ClientDataSourceInterface- 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 interfaceorg.apache.derby.jdbc.ClientDataSourceInterface- 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 interfaceorg.apache.derby.jdbc.ClientDataSourceInterface- Parameters:
mode- the SSL mode to use (off, basic or peerAuthentication)- Throws:
org.apache.derby.client.am.SqlException- if the specified mode is invalid
-
getSsl
Returns the SSL encryption mode specified for the data source.- Specified by:
getSslin interfaceorg.apache.derby.jdbc.ClientDataSourceInterface- 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 interfaceorg.apache.derby.jdbc.ClientDataSourceInterface- 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 interfaceorg.apache.derby.jdbc.ClientDataSourceInterface- 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 interfaceorg.apache.derby.jdbc.ClientDataSourceInterface- Parameters:
shutdown- if set to the string "shutdown", this data source will shutdown the database if it is running.
-
getShutdownDatabase
- Specified by:
getShutdownDatabasein interfaceorg.apache.derby.jdbc.ClientDataSourceInterface- 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 interfaceorg.apache.derby.jdbc.ClientDataSourceInterface- 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 interfaceorg.apache.derby.jdbc.ClientDataSourceInterface- Returns:
- Derby specific connection URL attributes
-
setTraceLevel
public void setTraceLevel(int traceLevel) - Specified by:
setTraceLevelin interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
getTraceLevel
public int getTraceLevel()- Specified by:
getTraceLevelin interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
setTraceFile
- Specified by:
setTraceFilein interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
getTraceFile
- Specified by:
getTraceFilein interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
setTraceDirectory
- Specified by:
setTraceDirectoryin interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
getTraceDirectory
- Specified by:
getTraceDirectoryin interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
setTraceFileAppend
public void setTraceFileAppend(boolean traceFileAppend) - Specified by:
setTraceFileAppendin interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
getTraceFileAppend
public boolean getTraceFileAppend()- Specified by:
getTraceFileAppendin interfaceorg.apache.derby.jdbc.ClientDataSourceInterface
-
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).
-
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.
-
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
-
getProperties
-