加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 没有JTA UserTransaction可用 – 指定’userTransaction

发布时间:2020-12-14 05:25:49 所属栏目:Java 来源:网络整理
导读:春季交易遇到了一个奇怪的问题.我的应用程序使用 Spring与EJB. EJB还调用用@Transaction注释的Spring服务类.我用Spring JtaTransactionManager进行事务管理.该应用程序被打包为EAR文件,并部署在jboss5.0上,它的工作正常.但是当我指示jboss为每个EAR应用程序
春季交易遇到了一个奇怪的问题.我的应用程序使用 Spring与EJB. EJB还调用用@Transaction注释的Spring服务类.我用Spring JtaTransactionManager进行事务管理.该应用程序被打包为EAR文件,并部署在jboss5.0上,它的工作正常.但是当我指示jboss为每个EAR应用程序使用单独的类加载器时,弹簧初始化会给出错误.
org.springframework.beans.factory.BeanCreationException: Error creating bean
   with name 'transactionManager' defined in ServletContext resource 
   [/WEB-INF/applicationContext.xml]: Invocation of init method failed; 
nested exception is java.lang.IllegalStateException: No JTA UserTransaction 
   available - specify either 'userTransaction' or 'userTransactionName' or 
   'transactionManager' or 'transactionManagerName'

为什么初始化Spring不成功?

谢谢

解决方法

尝试添加
@EnableTransactionManagement

在一个配置类中,你拥有你的配置bean

当我有这个问题的时候,这对我有用,
也许你会需要其他平台具体实现的事务管理器,但这是一个很好的开始.

@Bean
public PlatformTransactionManager transactionManager() {
    JpaTransactionManager txManager = new JpaTransactionManager();
    txManager.setEntityManagerFactory(entityManagerFactory());
    return txManager;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读