首页 文章

Wildfly:使用Spring @Autowired进行UserTransaction

提问于
浏览
1

在我从Jboss AS5迁移到Wildfly9以获取应用程序时,我正在尝试在wildfly中加载模块:javax.transaction.api查看Wildfly article以在WF8中加载模块,它表示您可能不需要显式加载某些模块隐式加载 .

我在我的一个 class 里使用

@Autowired
private UserTransaction transaction;

然后我在applictionContext.xml中定义它

<jee:jndi-lookup id="userTransaction" jndi-name="UserTransaction" expected-type="javax.transaction.UserTransaction"/>

在我的jboss-deployment-structure.xml中

<module name="javax.api"/>
  <module name="javax.transaction.api"/>

但我得到这个错误:

Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: 
private javax.transaction.UserTransaction com.mycomp.myapp.EventSender.transaction; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: 
No qualifying bean of type [javax.transaction.UserTransaction] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

我试图将jta.jar添加到战争的lib中,我试图添加jta的依赖项 . 我试图添加javax.transaction只是以防万一,他们都没有工作 . 我没有 ClassNotfoundexceptionClassCastexception . 一切似乎都那么简单 . 我不明白这里缺少什么 .

“WFLYCTL0080:服务失败”=> {“jboss.undertow.deployment.default-server.default-host./myApp”=>“org.jboss.msc.service.StartException in service jboss.undertow.deployment.default- server.default-host./myApp:java.lang.RuntimeException:org.springframework.beans.factory.UnsatisfiedDependencyException:在\“/ C:/JAVA/WF9/wildfly-9.0.0中定义名为'myAppManager'的bean时出错.Final / bin / content / myApp-engine-2.0.2-SNAPSHOT.war / WEB-INF / classes / com / mycomp / myApp / myAppManager.class \“:通过构造函数参数表达的不满意的依赖关系,类型为[com]的索引2 .mycomp.myApp.EventSender] ::创建名为'EventSender'的bean时出错:资源依赖注入失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:调用init方法失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction;嵌套的例外ption是org.springframework.beans.factory.BeanCreationException:创建名为'EventSender'的bean时出错:资源依赖注入失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - servicejboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction由以下引起:java.lang.RuntimeException:org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为'myAppManager'的bean时出错在\“/ C:/JAVA/WF9/wildfly-9.0.0.Final/bin/content/myApp-engine-2.0.2-SNAPSHOT.war/WEB-INF/classes/com/mycomp/myApp/myAppManager.class \“:通过带有[com.mycomp.myApp.EventSender]类型的索引2的构造函数参数表示的不满意的依赖:::创建名为'EventSender'的bean时出错:资源依赖注入失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'EventSender'的bean时出错:资源依赖注入失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init的调用方法失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction由以下引起:org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为'myAppManager'的bean在\“/ C中定义时出错: /JAVA/WF9/wildfly-9.0.0.Final/bin/content/myApp-engine-2.0.2-SNAPSHOT.war/WEB-INF/classes/com/mycomp/myApp/myAppManager.class \“:表示不满意的依赖关系通过类型为[com.mycomp.myApp.EventSender]的索引为2的构造函数参数::创建名为'EventSender'的bean时出错:资源依赖注入失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'EventSender'的bean时出错:资源依赖注入失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction相关原因:org.springframework.beans.factory.BeanCreationException:创建bean时出错名称为'userTransaction':init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction由以下原因引起:org.springframework.beans.factory.BeanCreationException:创建名为'EventSender'的bean时出错:资源依赖注入失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction由以下引起:org.springframework.beans.factory.BeanCreationException:创建名为'userTransaction'的bean时出错:init方法的调用失败;嵌套异常是javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction引起:javax.naming.NameNotFoundException:UserTransaction - service jboss.naming.context.java.UserTransaction“}},”roll -back“=> true

谢谢你的帮助 .

1 回答

  • 1

    错误发生在堆栈跟踪中:

    'userTransaction': Invocation of init method failed; nested exception is  javax.naming.NameNotFoundException: UserTransaction
    

    无法创建bean,因为JNDI查找失败 . 您的应用服务器上没有可用的名为“UserTransaction”的资源 .

相关问题