[ 
https://issues.apache.org/jira/browse/LOG4J2-3671?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Volkan Yazici closed LOG4J2-3671.
---------------------------------
    Resolution: Duplicate

> Support (and upgrade to) LMAX Disruptor 4.0.0
> ---------------------------------------------
>
>                 Key: LOG4J2-3671
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-3671
>             Project: Log4j 2
>          Issue Type: Task
>          Components: Core
>    Affects Versions: 2.20.1
>            Reporter: Misagh Moayyed
>            Priority: Major
>
> The latest version of the LMAX Disruptor, that is 4.0.0, is not compatible 
> with Log4j v2. Certain classes such as {*}SequenceReportingEventHandler{*}, 
> are removed from Disruptor v4:
> {code:java}
> Exception in thread "main" java.lang.NoClassDefFoundError: 
> com/lmax/disruptor/SequenceReportingEventHandler
>         at java.base/java.lang.ClassLoader.defineClass1(Native Method)
>         at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1027)
>         at 
> java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
>         at 
> java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
>         at 
> java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
>         at 
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
>         at 
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
>         at 
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
>         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
>         at 
> org.apache.logging.log4j.core.async.AsyncLoggerDisruptor.start(AsyncLoggerDisruptor.java:125)
>         at 
> org.apache.logging.log4j.core.async.AsyncLoggerContext.start(AsyncLoggerContext.java:75)
>         at 
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)
>         at 
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
>         at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)
>         at 
> org.apache.commons.logging.LogAdapter$Log4jLog.<clinit>(LogAdapter.java:146)
>         at 
> org.apache.commons.logging.LogAdapter$Log4jAdapter.createLog(LogAdapter.java:113)
>         at org.apache.commons.logging.LogAdapter.createLog(LogAdapter.java:95)
>         at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:67)
>         at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:59)   
>      
> Caused by: java.lang.ClassNotFoundException: 
> com.lmax.disruptor.SequenceReportingEventHandler
>         at 
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
>         at 
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
>         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
>         ... 24 more {code}
>  
> The following classes reference the now-removed class:
>  * AsyncLoggerConfigDisruptor
>  * RingBufferLogEventHandler
>  
> The current supported version of Disruptor seems to be 3.4.4. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to