[
https://issues.jboss.org/browse/WFLY-4198?page=com.atlassian.jira.plugin....
]
Sergiy Barlabanov updated WFLY-4198:
------------------------------------
Summary: NullPointerException in LogDiagnosticContextRecoveryInterceptor when calling
an asynchronous EJB (was: NullPointerException when trying to access MDC map with
SLF4j+Logback logging)
NullPointerException in LogDiagnosticContextRecoveryInterceptor when
calling an asynchronous EJB
------------------------------------------------------------------------------------------------
Key: WFLY-4198
URL:
https://issues.jboss.org/browse/WFLY-4198
Project: WildFly
Issue Type: Feature Request
Components: EJB
Affects Versions: 8.2.0.Final
Reporter: Sergiy Barlabanov
Assignee: David Lloyd
When trying to call an asynchronous EJB in a Web application using slf4j (1.7.5+) &
logback(1.0.13+) for logging the following NullPointerException occurs (see below).
The problem is in the line 67 of LogDiagnosticContextRecoveryInterceptor class, when it
tries to access MDC map, which is null. According to SLF4J API the copy of MDC map may be
null: see the javadoc of org.slf4j.MDC#getCopyOfContextMap.
So LogDiagnosticContextRecoveryInterceptor or org.jboss.logging.Slf4jLoggerProvider have
to check the map for null.
Currently there is no workaround for that :(.
Caused by: java.lang.NullPointerException
at
org.jboss.as.ejb3.component.interceptors.LogDiagnosticContextRecoveryInterceptor.processInvocation(LogDiagnosticContextRecoveryInterceptor.java:67)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at
org.jboss.as.ejb3.component.interceptors.AsyncFutureInterceptorFactory$1$2.runInvocation(AsyncFutureInterceptorFactory.java:97)
at
org.jboss.as.ejb3.component.interceptors.AsyncInvocationTask.run(AsyncInvocationTask.java:73)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)