Interface OracleCommonDataSource
-
- All Superinterfaces:
CommonDataSource
- All Known Subinterfaces:
OracleConnectionPoolDataSource,OracleConnectionPoolDataSource,OracleDataSource,OracleDataSource,OracleXADataSource,OracleXADataSource
- All Known Implementing Classes:
OracleConnectionPoolDataSource,OracleConnectionPoolDataSource,OracleConnectionPoolDataSourceImpl,OracleDataSource,OracleDataSource,OracleDataSourceImpl,OracleOCIConnectionPool,OracleXADataSource,OracleXADataSource,OracleXADataSourceImpl
public interface OracleCommonDataSource extends CommonDataSource
Interface that defines the methods which are common betweenOracleDataSource,OracleXADataSourceandOracleConnectionPoolDataSourceand defines the Oracle extensions to the standard JDBC interfaceCommonDataSource.- Since:
- 12.2
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default OracleShardingKeyBuildercreateShardingKeyBuilder()Creates a newOracleShardingKeyBuilderinstance.PropertiesgetConnectionProperties()Gets the connection properties that are set on this data source object.StringgetConnectionProperty(String propertyName)Gets the specified connection property that is set on this data source.StringgetDatabaseName()Gets the name of the database set on this DataSource instance.StringgetDataSourceName()Gets the datasource name for this instance if set.StringgetDescription()Get the Desciption of this data source.booleangetExplicitCachingEnabled()Returns the current value of the explicitCachingEnabled property.booleangetImplicitCachingEnabled()getImplicitCachingEnabled Returns the current value of the implicitCachingEnabled property.intgetMaxStatements()Returns the current value of the maxStatements property.StringgetNetworkProtocol()Gets the network protocol set on the datasource.intgetPortNumber()Gets the port number on which server is listening for requests.StringgetRoleName()Gets the data source role name.StringgetServerName()Gets the name of the server on which database is running.StringgetURL()Gets the URL for this datasource.StringgetUser()Gets the user name for this datasource.voidsetConnectionProperties(Properties value)Sets the Connection Properties for the datasourcevoidsetConnectionProperty(String name, String value)Sets a connection property on the data source.voidsetDatabaseName(String dbname)Sets the name of a particular database on a server.voidsetDataSourceName(String dsname)Sets the datasource name.voidsetDescription(String des)Sets the Description for this data source instance.voidsetExplicitCachingEnabled(boolean cache)Sets the value of the explicitCachingEnabled property, which enables or disables the explicit cache.voidsetHostnameResolver(OracleHostnameResolver hostnameResolver)Sets a custom hostname resolver implementingOracleHostnameResolverused to provide a custom DNS name resolution strategy to locate the database host.voidsetImplicitCachingEnabled(boolean cache)Sets the value of the implicitCachingEnabled property, which enables or disables the implicit statement cache.voidsetMaxStatements(int max)Specifies the value of the maxStatements property.voidsetNetworkProtocol(String np)Sets the network protocol for the connections.voidsetPassword(String pd)Sets the password with which connections have to be obtained.voidsetPortNumber(int pn)Sets the port number where a server is listening for requests.voidsetRoleName(String roleName)Sets the data source role name.voidsetServerName(String sn)Sets the name of the Server on which database is running.voidsetSingleShardTransactionSupport(boolean allow)Sets single shard transaction support in auto commit OFF mode.voidsetSSLContext(SSLContext sslContext)Specifies aSSLContextto use as a factory for SSLEngine objects that carry out the TLS protocol.voidsetTokenSupplier(java.util.function.Supplier<? extends AccessToken> tokenSupplier)Sets a supplier function that generates an access token when creating a connection with thisDataSource.voidsetURL(String url)Sets the URL from which connections have to be obtained.voidsetUser(String userName)Set the user name with which connections have to be obtained.-
Methods inherited from interface javax.sql.CommonDataSource
getLoginTimeout, getLogWriter, getParentLogger, setLoginTimeout, setLogWriter
-
-
-
-
Method Detail
-
createShardingKeyBuilder
default OracleShardingKeyBuilder createShardingKeyBuilder() throws SQLException
Creates a newOracleShardingKeyBuilderinstance.- Specified by:
createShardingKeyBuilderin interfaceCommonDataSource- Returns:
- The ShardingKeyBuilder instance that was created
- Throws:
SQLException- if an error occurs creating the builder- See Also:
OracleShardingKeyBuilder
-
setDataSourceName
void setDataSourceName(String dsname) throws SQLException
Sets the datasource name.- Parameters:
dsname- DataSource Name to be set.- Throws:
SQLException
-
getDataSourceName
String getDataSourceName()
Gets the datasource name for this instance if set. Returns null if not set.- Returns:
- DaraSource name
-
getDatabaseName
String getDatabaseName()
Gets the name of the database set on this DataSource instance.- Returns:
- database name set on this instance or null if not set.
-
setDatabaseName
void setDatabaseName(String dbname) throws SQLException
Sets the name of a particular database on a server. In Oracle's jargon this is called SID (System Identifier).If URL is set, this property will be ignored.
- Parameters:
dsname- database name to be set.- Throws:
SQLException
-
setServerName
void setServerName(String sn) throws SQLException
Sets the name of the Server on which database is running. If URL is set, this property will be ignored.- Parameters:
sn- server/host name to be set.- Throws:
SQLException
-
getServerName
String getServerName()
Gets the name of the server on which database is running.- Returns:
- server name set on this instance or null if not set.
-
setURL
void setURL(String url) throws SQLException
Sets the URL from which connections have to be obtained. If URL is set all other properties like databasename, servername, portNumber, network protocol, tnsentry, and driver Type will be ignored.- Parameters:
url- URL to be set.- Throws:
SQLException
-
getURL
String getURL() throws SQLException
Gets the URL for this datasource. Will return the default value "jdbc:oracle:oci8:@" if not set before.- Throws:
SQLException
-
setUser
void setUser(String userName) throws SQLException
Set the user name with which connections have to be obtained.- Parameters:
user- Username to be set.- Throws:
SQLException
-
getUser
String getUser()
Gets the user name for this datasource. Will return the default value ("scott") if not set before.
-
setPassword
void setPassword(String pd) throws SQLException
Sets the password with which connections have to be obtained. The default value is "tiger".- Parameters:
pd- Passowrd to be set.- Throws:
SQLException
-
getDescription
String getDescription()
Get the Desciption of this data source.- Returns:
- Description that was set or will return null if not set.
-
setDescription
void setDescription(String des) throws SQLException
Sets the Description for this data source instance.- Parameters:
des- Desciption to be set.- Throws:
SQLException
-
getNetworkProtocol
String getNetworkProtocol()
Gets the network protocol set on the datasource.- Returns:
- network protocol that was set or null if not.
-
setNetworkProtocol
void setNetworkProtocol(String np) throws SQLException
Sets the network protocol for the connections. Default is "tcp". Can be set to all possible protocols Net8 supports. Only needed for JDBC OCI driver.- Parameters:
np- set the network protocol to be used.- Throws:
SQLException
-
setPortNumber
void setPortNumber(int pn) throws SQLExceptionSets the port number where a server is listening for requests. Not required when URL is set.- Parameters:
pn- port number on which server is listening- Throws:
SQLException
-
getPortNumber
int getPortNumber()
Gets the port number on which server is listening for requests.- Returns:
- port number if set or null if not set.
-
setConnectionProperties
void setConnectionProperties(Properties value) throws SQLException
Sets the Connection Properties for the datasourceThe argument to this method is a Properties object. This properties object is used to create the connections returned by the receiver. The keys and values are Strings. The keys, values, and their meanings are defined in oracle.jdbc.OracleConnection.
- Parameters:
value- a Properties object with the desired connection property names and values.- Throws:
SQLException- See Also:
OracleConnection
-
getConnectionProperties
Properties getConnectionProperties() throws SQLException
Gets the connection properties that are set on this data source object. These exclude any sensitive property with "password" in its name (case-insensitive); for example, "password", "oracle.net.websocketPassword", etc.- Returns:
- A java.util.Properties object containing all the connection properties set on this data source object, excluding all sensitive properties described above. Null if there are no such connection properties set.
- Throws:
SQLException- If any exception occurs while getting the connection properties.
-
setConnectionProperty
void setConnectionProperty(String name, String value) throws SQLException
Sets a connection property on the data source.- Parameters:
name- The name of the connection property to be set.value- The value of the connection property to be set.- Throws:
SQLException- If any exception occurred while setting the connection property.- See Also:
setConnectionProperties(java.util.Properties),OracleConnection
-
getConnectionProperty
String getConnectionProperty(String propertyName) throws SQLException
Gets the specified connection property that is set on this data source. Any sensitive property with "password" in its name (case-insensitive, for example, "password", "oracle.net.websocketPassword", etc.) is treated as if that property were not set.- Parameters:
propertyName- The name of the specified connection property.- Returns:
- The String value of the specified connection property. Null if there is no such connection property set, or the specified connection property has "password" in its name.
- Throws:
SQLException- If any exception occurs while getting the connection property.
-
setMaxStatements
void setMaxStatements(int max) throws SQLExceptionSpecifies the value of the maxStatements property. This is the size of the statement cache used by both implicit and explicit caching. This value does not apply to the statement cache size of connections created by ImplicitStatementCache for which the cache size is set through a java.util.Properties object.- Parameters:
max- Requested size of the cache. If the existing cache size is less than max, statements will be purged to reduce the size.- Throws:
SQLException- if max < 0
-
getMaxStatements
int getMaxStatements() throws SQLExceptionReturns the current value of the maxStatements property.- Throws:
SQLException
-
setImplicitCachingEnabled
void setImplicitCachingEnabled(boolean cache) throws SQLExceptionSets the value of the implicitCachingEnabled property, which enables or disables the implicit statement cache. Note that this is independent of the cache size that is set with setMaxStatements().- Parameters:
cache- If true, then implicit caching is enabled. If false, then any existing statement is purged and the implicit caching is disabled.- Throws:
SQLException
-
getImplicitCachingEnabled
boolean getImplicitCachingEnabled() throws SQLExceptiongetImplicitCachingEnabled Returns the current value of the implicitCachingEnabled property.- Throws:
SQLException
-
setExplicitCachingEnabled
void setExplicitCachingEnabled(boolean cache) throws SQLExceptionSets the value of the explicitCachingEnabled property, which enables or disables the explicit cache. Note that this is independent of the cache size, which is set with setMaxStatements().- Parameters:
cache- If true, then explicit caching is enabled. If false, then any existing statement is purged and the explicit caching is disabled.- Throws:
SQLException- if called on a logical connection.
-
getExplicitCachingEnabled
boolean getExplicitCachingEnabled() throws SQLExceptionReturns the current value of the explicitCachingEnabled property.- Throws:
SQLException
-
setRoleName
void setRoleName(String roleName) throws SQLException
Sets the data source role name.- Parameters:
roleName- data source role name to be set.- Throws:
SQLException
-
getRoleName
String getRoleName()
Gets the data source role name.- Returns:
- data source role name.
-
setSSLContext
void setSSLContext(SSLContext sslContext) throws SQLException
Specifies aSSLContextto use as a factory for SSLEngine objects that carry out the TLS protocol.The SSLContext must be initialized before establishing a connection to the data source. The certificates specified by that initialization will be used in place of any connection properties that would otherwise have specified certificates, such as key store and trust store property values.
Specifying a null value will clear any non-null value that may have been set previously, causing this data source to behave as if this method had never been called at all.
- Parameters:
sslContext- An SSLContext to use as an SSLEngine factory.- Throws:
SQLException- if this data source is incompatible with the specified SSLContext.- Since:
- 20
-
setSingleShardTransactionSupport
void setSingleShardTransactionSupport(boolean allow) throws SQLExceptionSets single shard transaction support in auto commit OFF mode. Default value is false. Only used for the sharding driver.- Parameters:
allow-- Throws:
SQLException- Since:
- 21
-
setTokenSupplier
void setTokenSupplier(java.util.function.Supplier<? extends AccessToken> tokenSupplier)
Sets a supplier function that generates an access token when creating a connection with this
DataSource. The supplier function is invoked each time thisDataSourcecreates a connection. Instances ofAccessTokenthat are output by the supplier must represent a token type that is supported by Oracle Database for client authentication. The supplier must be thread safe.It is invalid to configure this
DataSourcewith both a token supplier and with a user name or password. If invocations ofsetUser(String),setPassword(String),setConnectionProperties(java.util.Properties), orsetConnectionProperty(String, String)have configured thisDataSourcewith a user name or password, and an invocation of this method has also configured a token supplier, then aSQLExceptionindicating an invalid configuration is thrown when creating a connection with this datasource.Note that
AccessToken.createJsonWebTokenCache(Supplier)can be called to create a thread safeSupplierthat caches tokens from a user definedSupplier.- Parameters:
tokenSupplier- Token supplying function. Notnull.- Throws:
NullPointerException- If thetokenSupplieris null.
-
setHostnameResolver
void setHostnameResolver(OracleHostnameResolver hostnameResolver)
Sets a custom hostname resolver implementingOracleHostnameResolverused to provide a custom DNS name resolution strategy to locate the database host.- Parameters:
hostnameResolver- an OracleHostnameResolver to use when resolving the datasource hostname- Since:
- 23
-
-