[
https://issues.apache.org/jira/browse/LOG4J2-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13865305#comment-13865305
]
Dimitry Declercq commented on LOG4J2-407:
-----------------------------------------
Would you retrieve a connection from the ConnectionSource on each writeInternal
then? Something as such:
{code}
@Override
protected void writeInternal(final LogEvent event) {
Connection connection = this.connectionSource.getConnection();
PreparedStatement statement =
connection.prepareStatement(this.sqlStatement);
...
Closer.closeSilent(connection);
{code}
Should work, I don't know the overhead of preparing the statement each time vs
one-time prepare...
> JDBCAppender cannot recover from loss of database connectivity
> --------------------------------------------------------------
>
> Key: LOG4J2-407
> URL: https://issues.apache.org/jira/browse/LOG4J2-407
> Project: Log4j 2
> Issue Type: Bug
> Components: Appenders
> Affects Versions: 2.0-beta9
> Reporter: Michael Kloster
> Assignee: Nick Williams
>
> The JDBCAppender holds a single database connection for all its logging. If
> that database connection is closed, it does not attempt to make a new
> connection.
> Many connection pools automatically close connections after a certain amount
> of inactivity. (This can be worked around by properly configuring a pool).
> Database connectivity issues are also common enough that a long running
> application may experience temporary network issues. When the network comes
> back online, the logging will not resume.
> I've been meaning to submit a patch for this, but I haven't gotten to it.
> Since I saw that you are looking to come out of beta soon, I thought I would
> log this issue in case someone else has time to write the patch before I get
> to it.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]