2017-06-02 75 views
0
Cannot resolve reference to bean 'transactionManager' while setting bean 
property 'transactionManager'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 
'transactionManager' defined in ServletContext resource [/config/core-spring-config.xml]: Invocation of init method failed; nested 
    java.lang.IllegalStateException: No JTA UserTransaction available - specify either 'userTransaction' or 'userTransactionName' or 'transactionManager' or 'transactionManagerName' 

我已经完成了哪些设置?将我的基于Spring的Maven项目从JBoss EAP 6迁移到tomcat 8.0时出现异常

我创建了jndi资源。最初DataSourceBean初始化错误即将到来,我通过创建该jndi资源来解决它。 application.properties也被正确映射,并加载相同的道具。现在上面的错误即将到来。

假设: 1.相同的app.war在我的系统上正常工作jboss实例。我的tomcat也在同一个系统上。很少有其他应用程序像微服务在同一个tomcat上运行良好,但我的主应用程序不是。 2.我试图从其中一个bean的init方法运行sql查询,所以sql连接/ jdbctemplate也很好。 我觉得根本原因应该是一些默认的spring jar related/path表达式有关。

回答

0

Tomcat只是一个servlet容器,与Jboss不同,它是一个完整的Java EE堆栈实现并且是一个应用程序服务器。所以如果你已经使用了JMS,JTA等等的Java EE特性,你可能需要从tomcat迁移到Jboss。在这种情况下,您应该确定事务管理器,以便让Tomcat知道应该使用哪种事务管理器。

+0

我发现在XML一些地方事务管理豆渐渐初始化,此处的代码所指 <豆ID = “transactionManager的” \t \t类= “的org.springframework.transaction.jta.JtaTransactionManager”/> –

+0

实测值的解决方案...我很乐意分享我上面改为 的 \t \t <属性名= “数据源” > \t \t \t \t \t \t \t \t 和它的工作。 –

+0

现在任何人都可以告诉我为什么,而DataSourceTrans actionManager工作时JtaTransactionM anager不工作? –

相关问题