2010-06-09 62 views
4

我已经成功部署了一个EJB 3模块和一个JSF WEB应用程序,它使用NetBeans IDE在本地调用EJB模块的bean。现在,当我尝试在临时环境中部署此,我得到以下错误:部署远程EJB和Web应用程序

root cause
javax.servlet.ServletException: com.sun.enterprise.InjectionException: Exception attempting to inject Unresolved Ejb-Ref com.store.managedbeans.CustomerManagedBean/[email protected]: [email protected]@[email protected]@null into class com.store.managedbeans.CustomerManagedBean
root cause javax.naming.NameNotFoundException: com.store.service.CustomerRemote#com.store.service.CustomerRemote not found

我已经部署在GlassFish v2中的EJB模块和Web应用程序(临时环境)的EJB的.The罐子模块位于Web应用程序的WEB-INF/lib文件夹内。它看起来像Web应用程序找不到EJB模块。这些类用@Remote注释。我使用@EJB调用接口而不是bean。当然,当我在Netbeans下部署它时,这个工作就发现了。

+2

找到答案! EJB模块引用了JMS队列连接工厂。我没有在分段的glassfish服务器上创建这个资源。允许部署EJB模块。但是当我从控制台检查JNDI日志时,由于部署模块时出现问题,没有任何EJB绑定到任何名称。希望以后能帮助别人。我花了大约4个多小时在网上搜索这个,我所要做的就是比较我的本地服务器控制台和登台服务器控制台。我确实学到了更多关于配置的知识。 – Tesnep 2010-06-09 10:42:31

回答

0

从评论:

EJB模块被引用一个JMS队列连接工厂。该资源尚未在分段glassfish服务器中创建。尽管允许部署EJB模块,但由于部署模块时出现问题,控制台中的JNDI日志显示没有任何EJB绑定到任何名称。