You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by Tihomir Meščić <ti...@gmail.com> on 2013/11/29 14:29:13 UTC

New issue created - JDBCAppender does not release JDBC connections to the connection pool when WAR/EAR is stopped

Hi everyone,

I've just created a new issues on the log4j JIRA:
https://issues.apache.org/jira/browse/LOG4J2-457

c/p:

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