【发布时间】:2015-10-07 01:23:10
【问题描述】:
在我从 Jboss AS5 迁移到 Wildfly9 的应用程序期间,我试图在 wildfly 中加载一个模块:javax.transaction.api 查看 Wildfly article to load modules in WF8 ,它说您可能不需要显式加载某些模块,因为它们是隐式加载的。
我正在我的一门课中使用
@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 添加到战争的库中,我尝试添加 jta 的依赖项。我试图添加 javax.transaction 以防万一,它们都不起作用。我没有收到ClassNotfoundexception 或ClassCastexception。一切似乎都那么简单。我无法理解这里缺少什么。
"WFLYCTL0080: 服务失败" => {"jboss.undertow.deployment.default-server.default-host./myApp" => "服务 jboss.undertow.deployment 中的 org.jboss.msc.service.StartException。 default-server.default-host./myApp: java.lang.RuntimeException: org.springframework.beans.factory.UnsatisfiedDependencyException: 在\"/C:/JAVA/WF9/wildfly-9.0 中定义名称'myAppManager' 创建bean 时出错.0.Final/bin/content/myApp-engine-2.0.2-SNAPSHOT.war/WEB-INF/classes/com/mycomp/myApp/myAppManager.class\":通过构造函数参数表示的不满足的依赖关系,索引为 2 类型[com.mycomp.myApp.EventSender]::创建名为“EventSender”的bean时出错:资源依赖注入失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为“userTransaction”的bean时出错:调用init 方法失败;嵌套异常是 javax.naming.NameNotFoundException: UserTransaction -- service jboss.naming.context.java.UserTransaction;嵌套 exc eption 是 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 原因:java.lang.RuntimeException: org.springframework.beans.factory.UnsatisfiedDependencyException: 错误创建 bean 名称为 'myAppManager' 在 \"/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\":通过构造函数参数表示的不满足依赖关系,索引为 2 类型 [com.mycomp.myApp.EventSender ]: : 创建名为“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:在\"/C:/JAVA/WF9/wildfly-9.0.0.Final/bin/content/myApp-engine-2.0 中定义的名称为“myAppManager”的bean 创建时出错.2-SNAPSHOT.war/WEB-INF/classes/com/mycomp/myApp/myAppManager.class\":通过构造函数参数表示的不满足依赖关系,索引为 2 类型 [com.mycomp.myApp.EventSender]::创建 bean 时出错名称为“EventSender”:资源依赖注入失败;嵌套异常是 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.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"}}, “回滚” => true
感谢您的帮助。
【问题讨论】: