Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 没有可用的JTA UserTransaction-指定';用户事务';或';userTransactionName';_Java_Spring_Jboss5.x - Fatal编程技术网

Java 没有可用的JTA UserTransaction-指定';用户事务';或';userTransactionName';

Java 没有可用的JTA UserTransaction-指定';用户事务';或';userTransactionName';,java,spring,jboss5.x,Java,Spring,Jboss5.x,我在spring事务中遇到了一个奇怪的问题。我的应用程序将Spring与EJB结合使用。EJB还调用用@Transaction注释的Spring服务类。我使用SpringJtaTransactionManager进行事务管理。该应用程序打包为EAR文件,部署在jboss5.0上,运行良好。但当我指示jboss为每个EAR应用程序使用单独的类加载器时,spring初始化给出了错误 org.springframework.beans.factory.BeanCreationException: Er

我在spring事务中遇到了一个奇怪的问题。我的应用程序将Spring与EJB结合使用。EJB还调用用
@Transaction
注释的Spring服务类。我使用Spring
JtaTransactionManager
进行事务管理。该应用程序打包为EAR文件,部署在jboss5.0上,运行良好。但当我指示jboss为每个EAR应用程序使用单独的类加载器时,spring初始化给出了错误

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;
}

您在JBoss中更改了什么设置?我修改了“deployers”目录下的ear-deployer-JBoss-beans.xml文件,将属性“isolated”设置为true。在IBM中部署sboot应用程序时,我遇到了类似的问题,WAS将检查fi是否有效。将两个医疗保健系统项目从IBMWAS迁移到简单的sboot。RIP到ibmwas——ibm甚至把它卖给了HCL!呵呵。