Misagh Moayyed created LOG4J2-3671:
--------------------------------------

             Summary: 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


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)
        at 
org.springframework.boot.SpringApplication.<clinit>(SpringApplication.java:185)
        at 
org.springframework.boot.builder.SpringApplicationBuilder.createSpringApplication(SpringApplicationBuilder.java:115)
        at 
org.springframework.boot.builder.SpringApplicationBuilder.<init>(SpringApplicationBuilder.java:102)
        at 
org.springframework.boot.builder.SpringApplicationBuilder.<init>(SpringApplicationBuilder.java:98)
        at org.apereo.cas.web.CasWebApplication.main(CasWebApplication.java:51)
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 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