Package org.firebirdsql.management

## Interface TraceManager

- All Superinterfaces:
    `ServiceManager`
  All Known Implementing Classes:
    `FBTraceManager`

      public interface TraceManager
      extends ServiceManager

  Implements the Trace/Audit API available new in Firebird 2.5.

  This functionality includes:

  - Starting a new trace session
  - Stopping an existing trace session
  - Suspending an existing trace session
  - Resuming a suspended trace session
  - Retrieving a list of trace sessions
  Author:
    Thomas Steinmaurer

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Integer` | `getSessionId​(java.lang.String sessionName)` | Gets the sessionId for the given name.
    `void` | `listTraceSessions()` | List all currently registered trace sessions
    `java.lang.String` | `loadConfigurationFromFile​(java.lang.String fileName)` | Deprecated. We suggest you use standard Java functionality instead (eg `new String(Files.readAllBytes(Paths.get(fileName)), Charset.defaultCharset())`.
    `void` | `resumeTraceSession​(int traceSessionId)` | Resumes a trace session with the given trace session ID
    `void` | `startTraceSession​(java.lang.String traceSessionName, java.lang.String configuration)` | Starts a trace session with an optioanl trace session name and configuration
    `void` | `stopTraceSession​(int traceSessionId)` | Stops a trace session with the given trace session ID
    `void` | `suspendTraceSession​(int traceSessionId)` | Suspends a trace session with the given trace session ID

    - ### Methods inherited from interface org.firebirdsql.management.ServiceManager

      `getAuthPlugins, getCharSet, getDatabase, getDbCryptConfig, getHost, getLogger, getPassword, getPort, getServerVersion, getUser, getWireCrypt, isWireCompression, setAuthPlugins, setCharSet, setDatabase, setDbCryptConfig, setHost, setLogger, setPassword, setPort, setUser, setWireCompression, setWireCrypt`

- - ### Method Detail

    - #### startTraceSession

          void startTraceSession​(java.lang.String traceSessionName,
                                 java.lang.String configuration)
                          throws java.sql.SQLException

      Starts a trace session with an optioanl trace session name and configuration
      Parameters:
        `traceSessionName` - The trace session name (optional)
        `configuration` - The trace configuration. For an example, look into fbtrace.conf in the root directory of your Firebird installation
      Throws:
        `java.sql.SQLException`

    - #### stopTraceSession

          void stopTraceSession​(int traceSessionId)
                         throws java.sql.SQLException

      Stops a trace session with the given trace session ID
      Parameters:
        `traceSessionId` - The trace session ID
      Throws:
        `java.sql.SQLException`

    - #### suspendTraceSession

          void suspendTraceSession​(int traceSessionId)
                            throws java.sql.SQLException

      Suspends a trace session with the given trace session ID
      Parameters:
        `traceSessionId` - The trace session ID
      Throws:
        `java.sql.SQLException`

    - #### resumeTraceSession

          void resumeTraceSession​(int traceSessionId)
                           throws java.sql.SQLException

      Resumes a trace session with the given trace session ID
      Parameters:
        `traceSessionId` - The trace session ID
      Throws:
        `java.sql.SQLException`

    - #### listTraceSessions

          void listTraceSessions()
                          throws java.sql.SQLException

      List all currently registered trace sessions
      Throws:
        `java.sql.SQLException`

    - #### loadConfigurationFromFile

          @Deprecated
          java.lang.String loadConfigurationFromFile​(java.lang.String fileName)
                                              throws java.io.IOException

      Deprecated.
      We suggest you use standard Java functionality instead (eg `new String(Files.readAllBytes(Paths.get(fileName)), Charset.defaultCharset())`. This method will be removed in Jaybird 5.
      Loads a configuration from the specified fileName using the default character set.
      Parameters:
        `fileName` - File name
      Throws:
        `java.io.IOException`

    - #### getSessionId

          java.lang.Integer getSessionId​(java.lang.String sessionName)

      Gets the sessionId for the given name.

      Returns null if the sessionName does not exist or hasn't been initialized yet.

      If multiple sessions are started with the same name, the last one is returned.

      Parameters:
        `sessionName` - Name of the session
      Returns:
        Id of the session or null otherwise