Ragul created AMQ-8058:
--------------------------

             Summary: Initialization of bean failed; nested exception is 
java.lang.NoSuchMethodError: 
org.springframework.core.annotation.AnnotationUtils.isCandidateClass
                 Key: AMQ-8058
                 URL: https://issues.apache.org/jira/browse/AMQ-8058
             Project: ActiveMQ
          Issue Type: Bug
    Affects Versions: 5.16.0
            Reporter: Ragul
         Attachments: activemq.png

Hi, 

I am using apache ActiveMQ with the Spring framework.

Where we now trying to upgrade spring to 5.2 latest hence its older releases 
reach the end of life.

Where we got stuck due to the below exception
{code:java}
2020-10-22 15:48:54,094 | ERROR | Failed to load: class path resource 
[activemq.xml], reason: Error creating bean with name 'statusService' defined 
in class path resource [activemq.xml]: Initialization of bean failed; nested 
exception is java.lang.NoSuchMethodError: 
org.springframework.core.annotation.AnnotationUtils.isCandidateClass(Ljava/lang/Class;Ljava/lang/Class;)Z
 | org.apache.activemq.xbean.XBeanBrokerFactory | main2020-10-22 15:48:54,094 | 
ERROR | Failed to load: class path resource [activemq.xml], reason: Error 
creating bean with name 'statusService' defined in class path resource 
[activemq.xml]: Initialization of bean failed; nested exception is 
java.lang.NoSuchMethodError: 
org.springframework.core.annotation.AnnotationUtils.isCandidateClass(Ljava/lang/Class;Ljava/lang/Class;)Z
 | org.apache.activemq.xbean.XBeanBrokerFactory | 
mainorg.springframework.beans.factory.BeanCreationException: Error creating 
bean with name 'statusService' defined in class path resource [activemq.xml]: 
Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: 
org.springframework.core.annotation.AnnotationUtils.isCandidateClass(Ljava/lang/Class;Ljava/lang/Class;)Z
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562)[spring-beans-4.3.26.RELEASE.jar:4.3.26.RELEASE]
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481)[spring-beans-4.3.26.RELEASE.jar:4.3.26.RELEASE]
 at 
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)[spring-beans-4.3.26.RELEASE.jar:4.3.26.RELEASE]
 at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)[spring-beans-4.3.26.RELEASE.jar:4.3.26.RELEASE]
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)[spring-beans-4.3.26.RELEASE.jar:4.3.26.RELEASE]
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)[spring-beans-4.3.26.RELEASE.jar:4.3.26.RELEASE]
 at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:757)[spring-beans-4.3.26.RELEASE.jar:4.3.26.RELEASE]
 at 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)[spring-context-4.3.26.RELEASE.jar:4.3.26.RELEASE]
 at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)[spring-context-4.3.26.RELEASE.jar:4.3.26.RELEASE]
 at 
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64)[xbean-spring-4.17.jar:4.17]
 at 
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52)[xbean-spring-4.17.jar:4.17]
 at 
org.apache.activemq.xbean.XBeanBrokerFactory$1.<init>(XBeanBrokerFactory.java:104)[activemq-spring-5.16.0.jar:5.16.0]
 at 
org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:104)[activemq-spring-5.16.0.jar:5.16.0]
 at 
org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:67)[activemq-spring-5.16.0.jar:5.16.0]
 at 
org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71)[activemq-broker-5.16.0.jar:5.16.0]
 at 
org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)[activemq-broker-5.16.0.jar:5.16.0]
 at 
org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:87)[activemq-console-5.16.0.jar:5.16.0]
 at 
org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:63)[activemq-console-5.16.0.jar:5.16.0]
 at 
org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:154)[activemq-console-5.16.0.jar:5.16.0]
 at 
org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:63)[activemq-console-5.16.0.jar:5.16.0]
 at 
org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:104)[activemq-console-5.16.0.jar:5.16.0]
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_242] at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_242]
 at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_242]
 at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_242] at 
org.apache.activemq.console.Main.runTaskClass(Main.java:262)[activemq.jar:5.16.0]
 at org.apache.activemq.console.Main.main(Main.java:115)[activemq.jar:5.16.0]
{code}
On further debugging, able to see below change is made in spring since 5.2 and 
it expects the same from ActiveMQ on runtime but which fails due to the spring 
4.3.26 reference.

[https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/AnnotationUtils.html#isCandidateClass-java.lang.Class-java.lang.Class]

_Replacing the old spring jar with new makes to bypass the issue. But don't 
know the impact of changing the dependency here._

Can you please upgrade the spring?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to