Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.logging.log4j.core.appender.db.jdbc
Class JdbcDatabaseManager

    java.lang.Object
      org.apache.logging.log4j.core.appender.AbstractManager
          org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager
              org.apache.logging.log4j.core.appender.db.jdbc.JdbcDatabaseManager

All Implemented Interfaces:
  Flushable

    public final class JdbcDatabaseManager

extends AbstractDatabaseManager

An `AbstractDatabaseManager` implementation for relational databases accessed via JDBC.

Nested Class Summary

Nested classes/interfaces inherited from class org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager
`AbstractDatabaseManager.AbstractFactoryData`

Field Summary

Fields inherited from class org.apache.logging.log4j.core.appender.AbstractManager
`count, LOGGER`

Method Summary
`protected void` | `commitAndClose()` Commits any active transaction (if applicable) and disconnects from the database (returns the connection to the connection pool).
`protected void` | `connectAndStart()` Connects to the database and starts a transaction (if applicable).
`static JdbcDatabaseManager` | `getJDBCDatabaseManager(String name, int bufferSize, ConnectionSource connectionSource, String tableName, ColumnConfig[] columnConfigs)` Creates a JDBC manager for use within the `JdbcAppender`, or returns a suitable one if it already exists.
`protected void` | `shutdownInternal()` Implementations should implement this method to perform any proprietary disconnection / shutdown operations.
`protected void` | `startupInternal()` Implementations should implement this method to perform any proprietary startup operations.
`protected void` | `writeInternal(LogEvent event)` Performs the actual writing of the event in an implementation-specific way.

Methods inherited from class org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager
`flush, getManager, isRunning, releaseSub, shutdown, startup, toString, write`

Methods inherited from class org.apache.logging.log4j.core.appender.AbstractManager
`getContentFormat, getCount, getName, hasManager, release`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Method Detail

### startupInternal

    protected void startupInternal()
                            throws Exception

  Description copied from class: `AbstractDatabaseManager`
  Implementations should implement this method to perform any proprietary startup operations. This method will never be called twice on the same instance. It is safe to throw any exceptions from this method. This method does not necessarily connect to the database, as it is generally unreliable to connect once and use the same connection for hours.

  Specified by:
    `startupInternal` in class `AbstractDatabaseManager`
  Throws:
    `Exception`

### shutdownInternal

    protected void shutdownInternal()

  Description copied from class: `AbstractDatabaseManager`
  Implementations should implement this method to perform any proprietary disconnection / shutdown operations. This method will never be called twice on the same instance, and it will only be called after `AbstractDatabaseManager.startupInternal()`. It is safe to throw any exceptions from this method. This method does not necessarily disconnect from the database for the same reasons outlined in `AbstractDatabaseManager.startupInternal()`.

  Specified by:
    `shutdownInternal` in class `AbstractDatabaseManager`

### connectAndStart

    protected void connectAndStart()

  Description copied from class: `AbstractDatabaseManager`
  Connects to the database and starts a transaction (if applicable). With buffering enabled, this is called when flushing the buffer begins, before the first call to `AbstractDatabaseManager.writeInternal(org.apache.logging.log4j.core.LogEvent)`. With buffering disabled, this is called immediately before every invocation of `AbstractDatabaseManager.writeInternal(org.apache.logging.log4j.core.LogEvent)`.

  Specified by:
    `connectAndStart` in class `AbstractDatabaseManager`

### writeInternal

    protected void writeInternal(LogEvent event)

  Description copied from class: `AbstractDatabaseManager`
  Performs the actual writing of the event in an implementation-specific way. This method is called immediately from `AbstractDatabaseManager.write(LogEvent)` if buffering is off, or from `AbstractDatabaseManager.flush()` if the buffer has reached its limit.

  Specified by:
    `writeInternal` in class `AbstractDatabaseManager`
  Parameters:
    `event` - The event to write to the database.

### commitAndClose

    protected void commitAndClose()

  Description copied from class: `AbstractDatabaseManager`
  Commits any active transaction (if applicable) and disconnects from the database (returns the connection to the connection pool). With buffering enabled, this is called when flushing the buffer completes, after the last call to `AbstractDatabaseManager.writeInternal(org.apache.logging.log4j.core.LogEvent)`. With buffering disabled, this is called immediately after every invocation of `AbstractDatabaseManager.writeInternal(org.apache.logging.log4j.core.LogEvent)`.

  Specified by:
    `commitAndClose` in class `AbstractDatabaseManager`

### getJDBCDatabaseManager

    public static JdbcDatabaseManager getJDBCDatabaseManager(String name,
                                                             int bufferSize,
                                                             ConnectionSource connectionSource,
                                                             String tableName,
                                                             ColumnConfig[] columnConfigs)

  Creates a JDBC manager for use within the `JdbcAppender`, or returns a suitable one if it already exists.

  Parameters:
    `name` - The name of the manager, which should include connection details and hashed passwords where possible.
    `bufferSize` - The size of the log event buffer.
    `connectionSource` - The source for connections to the database.
    `tableName` - The name of the database table to insert log events into.
    `columnConfigs` - Configuration information about the log table columns.
  Returns:
    a new or existing JDBC manager as applicable.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 1999-2015 Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.