Interface ConnectionStringProvider

  • All Superinterfaces:
    OracleResourceProvider

    public interface ConnectionStringProvider
    extends OracleResourceProvider

    A provider of connection strings for establishing a network connection to Oracle Database.

    The oracle.jdbc.provider.connectionString connection property identifies the name of a ConnectionStringProvider implementation. Connection properties under the namespace of oracle.jdbc.provider.connectionString configure any parameters that an implementation defines. To illustrate, the connection properties below would identify a provider named "example-provider", and configure a parameter named "servicePriority":

      oracle.jdbc.provider.connectionString=example-provider
      oracle.jdbc.provider.connectionString.servicePriority=medium

    ServiceLoader locates implementations of ConnectionStringProvider declared by a META-INF/services/oracle.jdbc.spi.ConnectionStringProvider file in the class path, or by a module-info.java file with a "provides oracle.jdbc.spi.ConnectionStringProvider" directive in the module path. Typically, these files are distributed within a jar file that contains a ConnectionStringProvider implementation.

    Since:
    23
    • Method Detail

      • getConnectionString

        java.lang.String getConnectionString​(java.util.Map<OracleResourceProvider.Parameter,​java.lang.CharSequence> parameterValues)

        Returns a connection string for establishing a network connection to Oracle Database. The string returned by this method may have any format specified in Section 8.2.3 of the Oracle JDBC Developer's guide. The string returned by this method should not include the "jdbc:oracle:{thin|oci|kprb}:@" prefix.

        The parameterValues passed to this method is a Map comprised as follows:

        • The key set is the same as, or a subset of, the Parameter objects returned by an invocation of OracleResourceProvider.getParameters() on this provider.
        • If no value is configured for a parameter, then the Map contains the default value of that Parameter, if any. If the parameter has no default value, then the map does not contain an entry for that Parameter.
        • The Map does not contain entries having null values.
        The parameterValues Map may contain a CharSequence having a security sensitive value. After this method returns, the caller may wipe the contents of these CharSequence values from memory. Implementations of this method should not retain a reference to these CharSequence objects.

        Parameters:
        parameterValues - Parameters configured by connection properties . Not null. May be empty.
        Returns:
        A connection string. Not null.
        Throws:
        java.lang.IllegalArgumentException - If the value of a parameter can not be parsed or interpreted.
        java.lang.IllegalStateException - If an implementation-specific failure prevents a resource from being provided.