java.lang.Object
io.opentelemetry.instrumentation.jdbc.internal.parser.OracleUrlParser
All Implemented Interfaces:
JdbcUrlParser

public final class OracleUrlParser extends Object implements JdbcUrlParser
Parser for Oracle JDBC URLs.

Sample URLs:

  • oracle:thin:@host:1521:orcl
  • oracle:thin:@host:1521/service
  • oracle:thin:user/pass@host/service
  • oracle:thin:@//host:1521/service
  • oracle:thin:@ldap://host:389/cn=OracleContext
  • oracle:thin:@(DESCRIPTION=(ADDRESS=(HOST=host)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=service)))

This class is internal and is hence not for public use. Its APIs are unstable and can change at any time.

  • Field Details

  • Method Details

    • parse

      public void parse(String jdbcUrl, ParseContext ctx)
      Description copied from interface: JdbcUrlParser
      Parse the JDBC URL and populate the context with extracted information.

      Implementations are responsible for the full parsing lifecycle:

      1. Set driver-specific defaults (system name, default host/port/user)
      2. Call ParseContext.applyDataSourceProperties() or ParseContext.applyUserProperty() at the appropriate point to match driver-specific precedence semantics. Use applyUserProperty() for drivers whose DataSource does not support the standard serverName/portNumber/databaseName properties.
      3. Parse the URL structure

      The placement of ParseContext.applyDataSourceProperties() controls precedence:

      • Before URL parsing: URL values take precedence (e.g., PostgreSQL, MySQL, Oracle)
      • After URL parsing: DataSource properties take precedence (e.g., Microsoft SQL Server)
      Specified by:
      parse in interface JdbcUrlParser
      Parameters:
      jdbcUrl - the JDBC URL to parse (without the "jdbc:" prefix)
      ctx - the parse context containing type and optional DataSource properties