You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@logging.apache.org by "Ralph Goers (JIRA)" <ji...@apache.org> on 2017/06/29 16:17:00 UTC

[jira] [Comment Edited] (LOG4J2-1934) JMS Appender does not know how to recover from a broken connection

    [ https://issues.apache.org/jira/browse/LOG4J2-1934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16068545#comment-16068545 ] 

Ralph Goers edited comment on LOG4J2-1934 at 6/29/17 4:16 PM:
--------------------------------------------------------------

I just took a look at the commit and I do NOT like this change. As I expected from your description you are creating new managers in the appender to reconnect. The responsibility for reconnecting should reside inside the manager, not in the Appender. Please redo it.


was (Author: ralph.goers@dslextreme.com):
I just took a look at the commit and I do NOT like this change. As I expected from your description you are creating new managers in the appender to reconnect. The responsibility for reconnecting should reside inside the manager, not in the Appender.

> JMS Appender does not know how to recover from a broken connection
> ------------------------------------------------------------------
>
>                 Key: LOG4J2-1934
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1934
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 2.8.2
>            Reporter: Gary Gregory
>            Assignee: Gary Gregory
>            Priority: Critical
>             Fix For: 2.9
>
>
> If a broker, like ActiveMQ goes up, down, and up. Log4j gives me:
> {noformat}
> 2017-06-06 18:26:58,396 HPM-ListeningIoReactor 4 ERROR An exception occurred processing Appender ActiveMQ org.apache.logging.log4j.core.appender.AppenderLoggingException: javax.jms.IllegalStateException: The Session is closed
> 	at org.apache.logging.log4j.core.appender.mom.JmsAppender.append(JmsAppender.java:69)
> 	at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
> 	at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
> 	at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120)
> 	at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
> 	at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:448)
> 	at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:433)
> 	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:417)
> 	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:403)
> 	at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:63)
> 	at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:146)
> 	at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2091)
> 	at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1813)
> 	at org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1267)
> 	>SNIP<
> 	at org.apache.http.nio.protocol.HttpAsyncService.requestReceived(HttpAsyncService.java:338)
> 	at org.apache.http.impl.nio.DefaultNHttpServerConnection.consumeInput(DefaultNHttpServerConnection.java:273)
> 	at org.apache.http.impl.nio.DefaultHttpServerIODispatch.onInputReady(DefaultHttpServerIODispatch.java:158)
> 	at org.apache.http.impl.nio.DefaultHttpServerIODispatch.onInputReady(DefaultHttpServerIODispatch.java:52)
> 	at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:114)
> 	at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162)
> 	at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337)
> 	at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
> 	at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)
> 	at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
> 	at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:588)
> 	at java.lang.Thread.run(Unknown Source)
> Caused by: javax.jms.IllegalStateException: The Session is closed
> 	at org.apache.activemq.ActiveMQSession.checkClosed(ActiveMQSession.java:771)
> 	at org.apache.activemq.ActiveMQSession.configureMessage(ActiveMQSession.java:759)
> 	at org.apache.activemq.ActiveMQSession.createMapMessage(ActiveMQSession.java:338)
> 	at org.apache.logging.log4j.core.appender.mom.JmsManager.createMessage(JmsManager.java:136)
> 	at org.apache.logging.log4j.core.appender.mom.JmsAppender.append(JmsAppender.java:65)
> 	... 28 more
> {noformat}
> I plan on fixing that ASAP.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)