0

我正在尝试将我的 Java EE 应用程序从 jboss 5.1 迁移到 jboss 7.1 并遇到部署错误。

我的 EAR 有 2 个 EJB 模块和 1 个 WAR 模块。两个 EJB 模块都可以毫无问题地部署。但是当我尝试使用 WAR 模块进行部署时,它说

Context initialization failed: org.springframework.beans.factory.BeanCreationException: Error creating bean with name "className" Injection of resource fields failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'java:global/ear/ejb/FacadeBean!com.ejb.business.SearchFacade' is defined: not found in JNDI environment

由于版权问题,我无法透露完整的班级名称。但是“类名”在我的 spring 应用程序上下文文件中被定义为一个 bean,它有一个 SearchFacade 的依赖注入,它又具有一些依赖关系。

令人困惑的是,在 jboss 日志中它显示 SearchFacade 的部署没有任何问题。

我发现很难找到这个问题的解决方案。任何帮助将不胜感激。

提前致谢。

4

1 回答 1

0

看起来 spring 无法确定 EJB 组件是否在该 EJB Jar 中,您需要强制该 EJB jar 中的组件在 WAR 中的组件之前初始化和启动。

您是否尝试将元素设置到您的 application*xml 中并查看是否有帮助?

您的 application.xml 中的类似内容

<application-name>EAR</application-name>
<initialize-in-order>true</initialize-in-order>
<module><ejb>EJB.jar</ejb></module>
<module><web><web-uri>WAR.war</web-uri><context-root>....
于 2013-05-18T02:51:16.423 回答