Data Aggregator - ActiveMQ does not start - Failed to instantiate SLF4J LoggerFactory
search cancel

Data Aggregator - ActiveMQ does not start - Failed to instantiate SLF4J LoggerFactory

book

Article ID: 233097

calendar_today

Updated On:

Products

CA Performance Management - Usage and Administration DX NetOps

Issue/Introduction

ActiveMQ service does not start in Data Aggregator machine, showing the following error in activemq.out file:

-----------------
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
Wed Jan 26 11:22:24 CET 2022 [INFO] [CAAPM.AgentJPMSEnabler] Starting Agent module configuration for traditional/classpath launch
Wed Jan 26 11:22:25 CET 2022 [INFO] [CAAPM.AgentJPMSEnabler] Finishing up Agent module configuration
Java Runtime: AdoptOpenJDK 11.0.11 /opt/CA/DataAggregator/jre
  Heap sizes: current=2307840k  free=1717031k  max=4767488k
    JVM args: -Xms2403M -Xmx4806M -Xmn1202M -XX:SurvivorRatio=6 -XX:+UseConcMarkSweepGC -XX:TargetSurvivorRatio=90 -XX:InitialTenuringThreshold=15 -XX:MaxTenuringThreshold=15 -XX:+ScavengeBeforeFullGC -XX:+ExplicitGCInvokesConcurrent -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+CMSClassUnloadingEnabled -XX:OnOutOfMemoryError=/opt/CA/DataAggregator/scripts/activemq stop -Dcom.sun.management.jmxremote.port=11099 -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.password.file=/opt/CA/DataAggregator/broker/apache-activemq-5.16.2/conf/jmx.password -Dcom.sun.management.jmxremote.access.file=/opt/CA/DataAggregator/broker/apache-activemq-5.16.2/conf/jmx.access -Dcom.sun.management.jmxremote.password.toHashes=false -javaagent:/opt/CA/DataAggregator/wily/Agent.jar -Dcom.wily.introscope.agentProfile=/opt/CA/DataAggregator/wily/core/config/IntroscopeAgent.DAMQ.profile -Dcom.wily.introscope.agent.agentName=ActiveMQ -Djava.util.logging.config.file=logging.properties-Djava.security.auth.login.config=/opt/CA/DataAggregator/broker/apache-activemq-5.16.2/conf/login.config -Dcom.sun.management.jmxremote -Djava.awt.headless=true -Djava.io.tmpdir=/opt/CA/DataAggregator/broker/apache-activemq-5.16.2//tmp --add-reads=java.xml=java.logging --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.naming/javax.naming.spi=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED --add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED --add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED -Dactivemq.classpath=/opt/CA/DataAggregator/broker/apache-activemq-5.16.2//conf:/opt/CA/DataAggregator/broker/apache-activemq-5.16.2//../lib/: -Dactivemq.home=/opt/CA/DataAggregator/broker/apache-activemq-5.16.2/
-Dactivemq.base=/opt/CA/DataAggregator/broker/apache-activemq-5.16.2/ -Dactivemq.conf=/opt/CA/DataAggregator/broker/apache-activemq-5.16.2//conf -Dactivemq.data=/opt/CA/DataAggregator/broker/apache-activemq-5.16.2//dataExtensions classpath:  [/opt/CA/DataAggregator/broker/apache-activemq-5.16.2/lib,/opt/CA/DataAggregator/broker/apache-activemq-5.16.2/lib/camel,/opt/CA/DataAggregator/broker/apache-activemq-5.16.2/lib/optional,/opt/CA/DataAggregator/broker/apache-activemq-5.16.2/lib/web,/opt/CA/DataAggregator/broker/apache-activemq-5.16.2/lib/extra]
ACTIVEMQ_HOME: /opt/CA/DataAggregator/broker/apache-activemq-5.16.2 
ACTIVEMQ_BASE: /opt/CA/DataAggregator/broker/apache-activemq-5.16.2
ACTIVEMQ_CONF: /opt/CA/DataAggregator/broker/apache-activemq-5.16.2/conf
ACTIVEMQ_DATA: /opt/CA/DataAggregator/broker/apache-activemq-5.16.2/data
Failed to instantiate SLF4J LoggerFactory
Reported exception:
java.lang.NoClassDefFoundError: org/apache/log4j/Level
        at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)
        at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124)
        at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:417)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:362)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:388)
        at org.apache.activemq.console.command.ProducerCommand.<clinit>(ProducerCommand.java:31)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
        at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(Unknown Source)
        at java.base/java.util.ServiceLoader$ProviderImpl.get(Unknown Source)
        at java.base/java.util.ServiceLoader$3.next(Unknown Source)
        at org.apache.activemq.console.command.ShellCommand.getCommands(ShellCommand.java:170)
        at org.apache.activemq.console.command.ShellCommand.<init>(ShellCommand.java:43)
        at org.apache.activemq.console.command.ShellCommand.<init>(ShellCommand.java:32)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
        at java.base/java.lang.Class.newInstance(Unknown Source)
        at org.apache.activemq.console.Main.runTaskClass(Main.java:262)
        at org.apache.activemq.console.Main.main(Main.java:115)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Level
 -----------------

Environment

Release : 21.2.x

Cause

In this case, the /opt/IMDataAggregator/broker/apache-activemq-5.15.8/lib/optional/log4j-1.2.17.jar file was wrongly deleted by customer when trying to mitigate/solve the log4j vulnerability.

Resolution

Problem is solved by restoring that file and restarting the ActiveMQ service