2017-05-15 33 views
0

早些時候我使用activemq-all-4.1.2.jar從apache-activemq-5.14.0中獲取/偵聽。但是,這使我以下異常: -activemq-all.jar(5.14.0)不適用於Spring 4.3.6?

15-05-2017 18:50:32.685|WARN |AcitveMQ Connection Worker: ssl://BDNVM4APK756V02/X.X.X.X:61616|Encountered a JMSException - resetting the underlying JMS Connection|[SingleConnectionFactory.java:322] 
javax.jms.JMSException: Channel was inactive for too long. 
     at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46) 
     at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1525) 
     at org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1541) 
     at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96) 
     at org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:114) 
     at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96) 
     at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96) 
     at org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:147) 
     at org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:156) 
     at org.apache.activemq.transport.InactivityMonitor.readCheck(InactivityMonitor.java:102) 
     at org.apache.activemq.transport.InactivityMonitor.access$000(InactivityMonitor.java:35) 
     at org.apache.activemq.transport.InactivityMonitor$1.run(InactivityMonitor.java:51) 
     at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:431) 
     at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(FutureTask.java:198) 
     at edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:189) 
     at edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:213) 
     at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) 
     at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) 
     at java.lang.Thread.run(Unknown Source) 
Caused by: org.apache.activemq.transport.InactivityIOException: Channel was inactive for too long. 
     ... 10 more 

所以我在我的罐子升級到ActiveMQ的,全5.14.0.jar推薦here 後來我得到了以下異常: -

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jioTUConfig': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.config.internalTransactionAdvisor' defined in class path resource [org/springframework/transaction/annotation/ProxyTransactionManagementConfiguration.class]: Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.springframework.beans.factory.config.ConfigurableBeanFactory.getSingletonMutex()Ljava/lang/Object; 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:762) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480) 
    at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668) 
    at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:540) 
    at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494) 
    at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) 
    at javax.servlet.GenericServlet.init(GenericServlet.java:242) 
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1284) 
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1090) 
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5231) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5518) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.config.internalTransactionAdvisor' defined in class path resource [org/springframework/transaction/annotation/ProxyTransactionManagementConfiguration.class]: Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.springframework.beans.factory.config.ConfigurableBeanFactory.getSingletonMutex()Ljava/lang/Object; 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) 
    at org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetrievalHelper.findAdvisorBeans(BeanFactoryAdvisorRetrievalHelper.java:92) 
    at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findCandidateAdvisors(AbstractAdvisorAutoProxyCreator.java:101) 
    at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:87) 
    at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:69) 
    at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:346) 
    at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:298) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:422) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1577) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) 
    ... 24 more 
Caused by: java.lang.NoSuchMethodError: org.springframework.beans.factory.config.ConfigurableBeanFactory.getSingletonMutex()Ljava/lang/Object; 
    at org.springframework.aop.support.AbstractBeanFactoryPointcutAdvisor.resetAdviceMonitor(AbstractBeanFactoryPointcutAdvisor.java:81) 
    at org.springframework.aop.support.AbstractBeanFactoryPointcutAdvisor.setBeanFactory(AbstractBeanFactoryPointcutAdvisor.java:76) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeAwareMethods(AbstractAutowireCapableBeanFactory.java:1591) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1559) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) 
    ... 38 more 

由於網絡安全性,我無法在組織內部使用任何構建工具。

我使用的是spring-4.3.6版本。 專門針對JMS的是spring-jms-4.3.6.RELEASE.jar和spring-messaging-4.3.6.RELEASE.jar。

回答

0

問題已解決。顯然apache-activemq-5.14.0最新的jar使用少量Spring(4.1.9)相關的jar和其他一些常用的jar,比如self4j,log4j,jsypt等等。移除我的Spring-4.3.6罐子和其他常見的罐子從classpath解決了這個問題。

要檢查它使用的是什麼jar,需要將apache-activemq-X.X.X.jar解壓縮到「apache-activemq-X.X.X」文件夾中,並檢查DEPENDENCIES文件。該位置將是

Apache的ActiveMQ的-XXX/META_INF /相關內容

更新: -

enter image description here

1

的ActiveMQ,全XXXjar包含春天,你可以找到相關內容 enter image description here

enter image description here 你應該匹配的版本例如:

+0

嗨@ J.bj,我更新了我的文章。請檢查。 – Satyaprakash

+0

爲什麼要投票? – Satyaprakash

+0

我是新的與stackoverflow〜 –

相關問題