Я использую ActiveMq 5.32 с Spring 2.5.5.Я использую довольно общую конфигурацию, поскольку я включаю jmsTransactionManager в DefaultMessageListenerContainer, Spring выдает ошибку при запуске:
"Ошибка создания компонента с именем 'org.springframework.jms.listener.DefaultMessageListenerContainer # 0'"
Без атрибута transactionManager это работает нормально, но когда я добавляю 10 сообщений в очередь сообщений, возникает исключение транзакции.
Часть моих конфигураций:
<bean class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination" ref="emailDestination" />
<property name="messageListener" ref="emailServiceMDP" />
<property name="transactionManager" ref="jmsTransactionManager" />
</bean>
<bean id="jmsTransactionManager" class="org.springframework.jms.connection.JmsTransactionManager">
<property name="connectionFactory" ref="connectionFactory" />
</bean>
Есть ли в этой версии Spring и Activemq проблемы с интеграцией?Или мне нужны дополнительные библиотеки, чтобы заставить работать jmsTransactionManager?
Обновлено: полная трассировка стека:
21: 36: 21 Ошибка инициализации контекста. Org.springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем org.springframework.jms.listener.DefaultMessageListenerContainer # 0 ', определенный в ресурсе ServletContext [/WEB-INF/config/spring/component/applicationContext-jms-activemq5.xml]: сбой вызова метода init;Вложенное исключение - java.lang.NoSuchMethodError: org.springframework.transaction.support.TransactionSynchronizationUtils.sameResourceFactory (Lorg / springframework / транзакция / support / ResourceTransactionManager; Ljava / lang / Object.sprf. з.фр.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1337) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:473) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory $ 1.Run (AbstractAutowireCapableBeanFactory.java409getObject (AbstractBeanFactory.java:264) в org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:221) в org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:261) в org.springfraeBean.Beaf185) в org.springframework.beans.factory.support..support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:729) при org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:381) в org.springframework.web.context.ContextLoader.createWebApplicationContext (ContextLoader.java:255) в org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader.java:199) в org.springframework.web.context.ContextLoaderListener.contextInitialized (ContextLoaderListener.java:45) по адресу com.suzsoft.framework.spring.web.context.ContextLoaderListener.contextInitialized (ContextLoaderListener.java:23) по адресу org.apache.catalina.xtConte. ().3934) в org.apache.catalina.core.StandardContext.start (StandardContext.java:4429) в org.apache.catalina.core.ContainerBase.addChildInternal (ContainerBase.java:791) в org.apache.catalina.core.ContainerB.addChild (ContainerBase.java:771) в org.apache.catalina.core.StandardHost.addChild (StandardHost.java:526) в org.apache.catalina.startup.HostConfig.deployDirectory (HostConfig.java:987) вorg.apache.catalina.startup.HostConfig.deployDirectories (HostConfig.java:909)
в
org.apache.catalina.startup.HostConfig.deployApps (HostConfig.java:495)
в
org.apache.catalina.startup.HostConfig.start (HostConfig.java:1206)
в
org.apache.catalina.startup.HostConfig.lifecycleEvent (HostConfig.java:314)
в
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent (LifecycleSupport.java:119)
в
org.apache.catalina.core.ContainerBase.start (ContainerBase.java:1053)
в
org.apache.catalina.core.StandardHost.start (StandardHost.java:722)
в
org.apache.catalina.core.ContainerBase.start (ContainerBase.java:1045)
в
org.apache.catalina.core.StandardEngine.start (StandardEngine.java:443)
в
org.apache.catalina.core.StandardService.start (StandardService.java:516)
в
org.apache.catalina.core.StandardServer.start (StandardServer.java:710)
в
org.apache.catalina.startup.Catalina.start (Catalina.java:583)
в
sun.reflect.NativeMethodAccessorImpl.invoke0 (Native
Метод) в
sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39)
в
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
в
java.lang.reflect.Method.invoke (Method.java:597)
в
org.apache.catalina.startup.Bootstrap.start (Bootstrap.java:288)
в
org.apache.catalina.startup.Bootstrap.main (Bootstrap.java:413)
Вызванный:
java.lang.NoSuchMethodError:
org.springframework.transaction.support.TransactionSynchronizationUtils.sameResourceFactory (Lorg / springframework / сделка / поддержка / ResourceTransactionManager; Ljava / языки / объекта;) Z
в
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.initialize (AbstractPollingMessageListenerContainer.java:190)
в
org.springframework.jms.listener.DefaultMessageListenerContainer.initialize (DefaultMessageListenerContainer.java:459)
в
org.springframework.jms.listener.AbstractJmsListeningContainer.afterPropertiesSet (AbstractJmsListeningContainer.java:135)
в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods (AbstractAutowireCapableBeanFactory.java:1368)
в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1334)
... еще 40 мая 25, 2010 21:36:21
org.apache.catalina.core.StandardContext
listenerStart SEVERE: исключение
отправка события, инициализированного контекстом,
экземпляр слушателя класса
com.suzsoft.framework.spring.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException:
Ошибка создания бина с именем
'Org.springframework.jms.listener.DefaultMessageListenerContainer # 0'
определено в ресурсе ServletContext
[/WEB-INF/config/spring/component/applicationContext-jms-activemq5.xml]:
Ошибка вызова метода init;
вложенное исключение
java.lang.NoSuchMethodError:
org.springframework.transaction.support.TransactionSynchronizationUtils.sameResourceFactory (Lorg / springframework / сделка / поддержка / ResourceTransactionManager; Ljava / языки / объекта;) Z
в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1337)
в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:473)
в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory $ 1.run (AbstractAutowireCapableBeanFactory.java:409)
в
java.security.AccessController.doPrivileged (Native
Метод) в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:380)
в
org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject (AbstractBeanFactory.java:264)
вorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:221)
в
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:261)
в
org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:185)
в
org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:164)
в
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.java:429)
в
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:729)
в
org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:381)
в
org.springframework.web.context.ContextLoader.createWebApplicationContext (ContextLoader.java:255)
в
org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader.java:199)
в
org.springframework.web.context.ContextLoaderListener.contextInitialized (ContextLoaderListener.java:45)
в
com.suzsoft.framework.spring.web.context.ContextLoaderListener.contextInitialized (ContextLoaderListener.java:23)
в
org.apache.catalina.core.StandardContext.listenerStart (StandardContext.java:3934)
в
org.apache.catalina.core.StandardContext.start (StandardContext.java:4429)
в
org.apache.catalina.core.ContainerBase.addChildInternal (ContainerBase.java:791)
в
org.apache.catalina.core.ContainerBase.addChild (ContainerBase.java:771)
в
org.apache.catalina.core.StandardHost.addChild (StandardHost.java:526)
в
org.apache.catalina.startup.HostConfig.deployDirectory (HostConfig.java:987)
в
org.apache.catalina.startup.HostConfig.deployDirectories (HostConfig.java:909)
в
org.apache.catalina.startup.HostConfig.deployApps (HostConfig.java:495)
в
org.apache.catalina.startup.HostConfig.start (HostConfig.java:1206)
в
org.apache.catalina.startup.HostConfig.lifecycleEvent (HostConfig.java:314)
в
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent (LifecycleSupport.java:119)
в
org.apache.catalina.core.ContainerBase.start (ContainerBase.java:1053)
в
org.apache.catalina.core.StandardHost.start (StandardHost.java:722)
в
org.apache.catalina.core.ContainerBase.start (ContainerBase.java:1045)
в
org.apache.catalina.core.StandardEngine.start (StandardEngine.java:443)
в
org.apache.catalina.core.StandardService.start (StandardService.java:516)
в
org.apache.catalina.core.StandardServer.start (StandardServer.java:710)
в
org.apache.catalina.startup.Catalina.start (Catalina.java:583)
в
sun.reflect.NativeMethodAccessorImpl.invoke0 (Native
Метод) в
sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39)
в
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
в
java.lang.reflect.Method.invoke (Method.java:597)
в
org.apache.catalina.startup.Bootstrap.start (Bootstrap.java:288)
в
org.apache.catalina.startup.Bootstrap.main (Bootstrap.java:413)
Вызванный:
java.lang.NoSuchMethodError:
org.springframework.transaction.support.TransactionSynchronizationUtils.sameResourceFactory (Lorg / springframework / сделка / поддержка / ResourceTransactionManager; Ljava / языки / объекта;) Z
в
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.initialize (AbstractPollingMessageListenerContainer.java:190)
в
org.springframework.jms.listener.DefaultMessageListenerContainer.initialize (DefaultMessageListenerContainer.java:459)
в
org.springframework.jms.listener.AbstractJmsListeningContainer.afterPropertiesSet (AbstractJmsListeningContainer.java:135)
вorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods (AbstractAutowireCapableBeanFactory.java:1368)
в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1334)
... еще 40