[
https://issues.apache.org/jira/browse/LOG4J2-457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nick Williams resolved LOG4J2-457.
----------------------------------
Resolution: Fixed
Fix Version/s: 2.0-rc1
Fixed with r1565858 and r1565878. The database appenders now connect to the
database (i.e., borrow from the connection pool) and begin a transaction on
every flush or every non-buffered {{writeInternal}}, then commit and disconnect
(i.e., return to pool) at the end of the flush or non-buffered
{{writeInternal}}.
Note also that the {{<DriverManager...>}} connection source plugin is no longer
available. It was removed because it was unsafe and didn't support connection
pooling. Please use the {{<DataSource...>}} or {{<ConnectionFactory...>}}
connection source plugins, instead.
> JDBCAppender does not release JDBC connections to the connection pool when
> WAR/EAR is stopped
> ---------------------------------------------------------------------------------------------
>
> Key: LOG4J2-457
> URL: https://issues.apache.org/jira/browse/LOG4J2-457
> Project: Log4j 2
> Issue Type: Bug
> Components: Appenders
> Affects Versions: 2.0-beta9
> Environment: JBOSS application server, PostgreSQL database
> Reporter: Tihomir Meščić
> Assignee: Nick Williams
> Fix For: 2.0-rc1
>
>
> We use log4j 2 for logging inside our J2EE app (packaged as EAR, log4j JARs
> are bundled inside). The app is deployed on JBOSS EAP 6.1 app server. We are
> using the JDBCAppender for logging to a PostgreSQL database, and the appender
> is configured to use a DataSource for fetching connections. The appender is
> configured as follows:
> <JDBC name="jdbcAppender" tableName="log_entries">
> <DataSource jndiName="java:jboss/datasources/XyzDS" />
> <Column name="log_entries_message" isUnicode="false" pattern="%message"
> />
> <Column name="log_entries_type" literal="0" />
> .....
> The problem is: after the EAR is stopped (undeployed) log4j is not releasing
> the JDBC connection back to the connection pool, and after we stop/start the
> application a couple of times, our server becomes useless because there are
> no more free connections in the connection pool. I've looked at the thread
> dump of the server and there are a lot of threads like this:
> org.apache.logging.log4j.core.LoggerContext$ShutdownThread @ 0xbe447138
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]