Class ClientConnectionPoolDataSource
- All Implemented Interfaces:
Serializable, Wrapper, Referenceable, CommonDataSource, ConnectionPoolDataSource, DataSource
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final shortSee documentation atUSER_ONLY_SECURITYstatic final shortstatic final shortSee documentation atUSER_ONLY_SECURITYstatic final shortstatic final shortSee documentation atUSER_ONLY_SECURITYstatic final shortstatic final intstatic final booleanstatic final shortDefault security mechanism is USER_ONLY_SECURITY.static final Stringstatic final booleanstatic final intSee documentation atTRACE_NONE.static final Stringstatic 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 shortstatic 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.static final shortThe source security mechanism to use when connecting to a client data source. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic org.apache.derby.client.am.LogWritercomputeDncLogWriterForNewConnection(PrintWriter logWriter, String traceDirectory, String traceFile, boolean traceFileAppend, int traceLevel, String logWriterInUseSuffix, int traceFileSuffixIndex) 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.intintReturns the maximum number of JDBC prepared statements a connection is allowed to cache./////////////////////////////////////////////////////////////////static StringgetPassword(Properties properties) getPooledConnection(String user, String password) intintstatic PropertiesgetProperties(org.apache.derby.client.BasicClientDataSource ths) booleanbooleanstatic booleangetRetrieveMessageText(Properties properties) shortReturn the security mechanism.shortshortgetSecurityMechanism(String password) Return the security mechanism for this datasource object.shortgetSecurityMechanism(String password) 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.getSsl()static intParses the string and returns the corresponding constant for the SSL mode denoted.static StringgetTraceDirectory(Properties properties) Check if derby.client.traceDirectory is provided as a JVM property.static StringgetTraceFile(Properties properties) booleanbooleanstatic booleangetTraceFileAppend(Properties properties) intintstatic intgetTraceLevel(Properties properties) Check if derby.client.traceLevel is provided as a JVM property.getUser()getUser()static StringgetUser(Properties properties) booleanisWrapperFor(Class<?> iface) Check whether this instance wraps an object that implements the interface specified byiface.intInternally used method.voidSet this property to pass in more Derby specific connection URL attributes.voidvoidsetCreateDatabase(String create) Set this property to create a new database.voidsetCreateDatabase(String create) voidsetDatabaseName(String databaseName) voidsetDatabaseName(String databaseName) voidsetDataSourceName(String dataSourceName) voidsetDataSourceName(String dataSourceName) voidsetDescription(String description) voidsetDescription(String description) voidsetLoginTimeout(int seconds) voidsetLogWriter(PrintWriter logWriter) voidsetMaxStatements(int maxStatements) Specifies the maximum size of the statement cache.voidsetPassword(String password) voidsetPassword(String password) voidsetPortNumber(int portNumber) voidsetPortNumber(int portNumber) voidsetRetrieveMessageText(boolean retrieveMessageText) voidsetRetrieveMessageText(boolean retrieveMessageText) voidsetSecurityMechanism(short securityMechanism) Sets the security mechanism.voidsetSecurityMechanism(short securityMechanism) voidsetServerName(String serverName) voidsetServerName(String serverName) voidsetShutdownDatabase(String shutdown) Set this property if one wishes to shutdown the database identified by databaseName.voidsetShutdownDatabase(String shutdown) voidSpecifies the SSL encryption mode to use.voidvoidsetTraceDirectory(String traceDirectory) voidsetTraceDirectory(String traceDirectory) voidsetTraceFile(String traceFile) voidsetTraceFile(String traceFile) voidsetTraceFileAppend(boolean traceFileAppend) voidsetTraceFileAppend(boolean traceFileAppend) voidsetTraceLevel(int traceLevel) voidsetTraceLevel(int traceLevel) voidvoidstatic PropertiestokenizeAttributes(String attributeString, Properties properties) <T> TReturnsthisif this class implements the specified interface.Methods inherited from class ClientDataSource
getReferenceMethods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CommonDataSource
createShardingKeyBuilder, getParentLoggerMethods inherited from interface ConnectionPoolDataSource
createPooledConnectionBuilder, getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriterMethods inherited from interface DataSource
createConnectionBuilder, getConnection, getConnection, getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriterMethods inherited from interface Wrapper
isWrapperFor, unwrap
-
Field Details
-
className__
- See Also:
-
propertyDefault_portNumber
static final int propertyDefault_portNumber- See Also:
-
propertyDefault_serverName
- See Also:
-
propertyDefault_user
- See Also:
-
propertyDefault_retrieveMessageText
static final boolean propertyDefault_retrieveMessageText- See Also:
-
USER_ONLY_SECURITY
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
If the application specifies a security mechanism then it will be the only one attempted. If the specified security mechanism is not supported by the conversation then an exception will be thrown and there will be no additional retries.
Both user and password need to be set for all security mechanism except USER_ONLY_SECURITY.
- See Also:
-
CLEAR_TEXT_PASSWORD_SECURITY
static final short CLEAR_TEXT_PASSWORD_SECURITY- See Also:
-
ENCRYPTED_PASSWORD_SECURITY
static final short ENCRYPTED_PASSWORD_SECURITY- See Also:
-
ENCRYPTED_USER_AND_PASSWORD_SECURITY
static final short ENCRYPTED_USER_AND_PASSWORD_SECURITY- See Also:
-
STRONG_PASSWORD_SUBSTITUTE_SECURITY
static final short STRONG_PASSWORD_SUBSTITUTE_SECURITY- See Also:
-
propertyDefault_securityMechanism
static final short propertyDefault_securityMechanismDefault security mechanism is USER_ONLY_SECURITY.- See Also:
-
propertyDefault_traceFileAppend
static final boolean propertyDefault_traceFileAppend- 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
If the application specifies a security mechanism then it will be the only one attempted. If the specified security mechanism is not supported by the conversation then an exception will be thrown and there will be no additional retries.
Both user and password need to be set for all security mechanism except USER_ONLY_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
-
ClientConnectionPoolDataSource
public ClientConnectionPoolDataSource()
-
-
Method Details
-
getPooledConnection
- Specified by:
getPooledConnectionin interfaceConnectionPoolDataSource- Throws:
SQLException
-
getPooledConnection
- Specified by:
getPooledConnectionin interfaceConnectionPoolDataSource- Throws:
SQLException
-
setMaxStatements
public void setMaxStatements(int maxStatements) Specifies the maximum size of the statement cache.- Parameters:
maxStatements- maximum number of cached statements- Throws:
IllegalArgumentException- ifmaxStatementsis negative
-
getMaxStatements
public int getMaxStatements()Returns the maximum number of JDBC prepared statements a connection is allowed to cache.- Returns:
- Maximum number of statements to cache, or
0if caching is disabled (default).
-
maxStatementsToPool
public int maxStatementsToPool()Internally used method.- Returns:
- Maximum number of statements to cache, or
0if caching is disabled (default). - See Also:
-
setPassword
-
getPassword
String getPassword() -
setDatabaseName
-
getDatabaseName
String getDatabaseName() -
setDataSourceName
-
getDataSourceName
String getDataSourceName() -
setDescription
-
getDescription
String getDescription() -
setPortNumber
void setPortNumber(int portNumber) -
getPortNumber
int getPortNumber() -
setServerName
-
getServerName
String getServerName() -
setUser
-
getUser
String getUser() -
setRetrieveMessageText
void setRetrieveMessageText(boolean retrieveMessageText) -
getRetrieveMessageText
boolean getRetrieveMessageText() -
setSecurityMechanism
void setSecurityMechanism(short securityMechanism) -
getSecurityMechanism
short getSecurityMechanism() -
getSecurityMechanism
-
setSsl
- Throws:
org.apache.derby.client.am.SqlException
-
getSsl
String getSsl() -
setCreateDatabase
-
getCreateDatabase
String getCreateDatabase() -
setShutdownDatabase
-
getShutdownDatabase
String getShutdownDatabase() -
setConnectionAttributes
-
getConnectionAttributes
String getConnectionAttributes() -
setTraceLevel
void setTraceLevel(int traceLevel) -
getTraceLevel
int getTraceLevel() -
setTraceFile
-
getTraceFile
String getTraceFile() -
setTraceDirectory
-
getTraceDirectory
String getTraceDirectory() -
setTraceFileAppend
void setTraceFileAppend(boolean traceFileAppend) -
getTraceFileAppend
boolean getTraceFileAppend() -
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
-
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
-
getTraceFileAppend
-
getPassword
-
setPassword
-
getPassword
-
computeDncLogWriterForNewConnection
public static org.apache.derby.client.am.LogWriter computeDncLogWriterForNewConnection(PrintWriter logWriter, String traceDirectory, String traceFile, boolean traceFileAppend, int traceLevel, String logWriterInUseSuffix, int traceFileSuffixIndex) throws org.apache.derby.client.am.SqlException - Throws:
org.apache.derby.client.am.SqlException
-
tokenizeAttributes
public static Properties tokenizeAttributes(String attributeString, Properties properties) throws org.apache.derby.client.am.SqlException - Throws:
org.apache.derby.client.am.SqlException
-
setDatabaseName
-
getDatabaseName
-
setDataSourceName
-
getDataSourceName
-
setDescription
-
getDescription
-
setPortNumber
public void setPortNumber(int portNumber) -
getPortNumber
public int getPortNumber() -
setServerName
-
getServerName
-
setUser
-
getUser
-
setRetrieveMessageText
public void setRetrieveMessageText(boolean retrieveMessageText) -
getRetrieveMessageText
public boolean getRetrieveMessageText() -
setSecurityMechanism
public void setSecurityMechanism(short securityMechanism) Sets the security mechanism.- 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.- 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.- 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.
- 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.- 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.- 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
- Returns:
- "create" if create is set, or null if not
-
setShutdownDatabase
Set this property if one wishes to shutdown the database identified by databaseName.- Parameters:
shutdown- if set to the string "shutdown", this data source will shutdown the database if it is running.
-
getShutdownDatabase
- 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.- 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
- 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) -
getTraceLevel
public int getTraceLevel() -
setTraceFile
-
getTraceFile
-
setTraceDirectory
-
getTraceDirectory
-
setTraceFileAppend
public void setTraceFileAppend(boolean traceFileAppend) -
getTraceFileAppend
public boolean getTraceFileAppend() -
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
-