Package oracle.jdbc.spi

## Interface TraceEventListenerProvider

All Superinterfaces:
  `OracleResourceProvider`

    public interface TraceEventListenerProvider
    extends OracleResourceProvider

A provider of listeners for application and system tracing events.

The oracle.jdbc.provider.traceEventListener connection property identifies the name of a `TraceEventListenerProvider` implementation. Connection properties under the namespace of `oracle.jdbc.provider.traceEventListener` 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 "traceLevel":

      oracle.jdbc.provider.traceEventListener=example-provider
      oracle.jdbc.provider.traceEventListener.traceLevel=INFO

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

Since:
  23

### Nested Class Summary

### Nested classes/interfaces inherited from interface oracle.jdbc.spi.OracleResourceProvider

`OracleResourceProvider.Parameter`

### Method Summary

All Methods Instance Methods Abstract Methods
`TraceEventListener` `getTraceEventListener​(java.util.Map<OracleResourceProvider.Parameter,​java.lang.CharSequence> parameterValues)` Returns a `TraceEventListener` that receives application and system tracing events.

### Methods inherited from interface oracle.jdbc.spi.OracleResourceProvider

`getName, getParameters`

### Method Detail

#### getTraceEventListener

    TraceEventListener getTraceEventListener​(java.util.Map<OracleResourceProvider.Parameter,​java.lang.CharSequence> parameterValues)

Returns a `TraceEventListener` that receives application and system tracing events.

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 `TraceEventListener`. 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.