Java 没有可用的JTA UserTransaction-指定';用户事务';或';userTransactionName';
我在spring事务中遇到了一个奇怪的问题。我的应用程序将Spring与EJB结合使用。EJB还调用用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
@Transaction
注释的Spring服务类。我使用SpringJtaTransactionManager
进行事务管理。该应用程序打包为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!呵呵。