public final class JpaDatabaseManager extends AbstractDatabaseManager
AbstractDatabaseManager implementation for relational databases accessed via JPA.AbstractDatabaseManager.AbstractFactoryDatacount, LOGGER| Modifier and Type | Method and Description |
|---|---|
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 JpaDatabaseManager |
getJPADatabaseManager(String name,
int bufferSize,
Class<? extends AbstractLogEventWrapperEntity> entityClass,
Constructor<? extends AbstractLogEventWrapperEntity> entityConstructor,
String persistenceUnitName)
Creates a JPA manager for use within the
JpaAppender, 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.
|
flush, getManager, isRunning, releaseSub, shutdown, startup, toString, writegetContentFormat, getCount, getName, hasManager, releaseprotected void startupInternal()
AbstractDatabaseManagerstartupInternal in class AbstractDatabaseManagerprotected void shutdownInternal()
AbstractDatabaseManagerAbstractDatabaseManager.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().shutdownInternal in class AbstractDatabaseManagerprotected void connectAndStart()
AbstractDatabaseManagerAbstractDatabaseManager.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).connectAndStart in class AbstractDatabaseManagerprotected void writeInternal(LogEvent event)
AbstractDatabaseManagerAbstractDatabaseManager.write(LogEvent) if buffering is off, or from AbstractDatabaseManager.flush() if the buffer has reached its limit.writeInternal in class AbstractDatabaseManagerevent - The event to write to the database.protected void commitAndClose()
AbstractDatabaseManagerAbstractDatabaseManager.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).commitAndClose in class AbstractDatabaseManagerpublic static JpaDatabaseManager getJPADatabaseManager(String name, int bufferSize, Class<? extends AbstractLogEventWrapperEntity> entityClass, Constructor<? extends AbstractLogEventWrapperEntity> entityConstructor, String persistenceUnitName)
JpaAppender, or returns a suitable one if it already exists.name - The name of the manager, which should include connection details, entity class name, etc.bufferSize - The size of the log event buffer.entityClass - The fully-qualified class name of the AbstractLogEventWrapperEntity concrete
implementation.entityConstructor - The one-arg LogEvent constructor for the concrete entity class.persistenceUnitName - The name of the JPA persistence unit that should be used for persisting log events.Copyright © 1999-2021 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.