我已经成功部署了一个EJB 3模块和一个JSF WEB应用程序,该应用程序在本地使用netbeans IDE调用EJB模块的bean。现在,当我尝试在暂存环境中部署它时,我收到以下错误:
root cause
javax.servlet.ServletException: com.sun.enterprise.InjectionException: Exception attempting to inject Unresolved Ejb-Ref com.store.managedbeans.CustomerManagedBean/customerService@jndi: com.store.service.CustomerRemote@null@com.store.service.CustomerRemote@Session@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模块的jar位于Web应用程序的WEB-INF / lib文件夹中。看起来Web应用程序找不到EJB模块。这些类使用@Remote注释。我使用@EJB调用接口而不是bean。当然,当我在Netbeans下部署它时,这很有用。
答案 0 :(得分:0)
来自评论:
EJB模块引用了JMS队列连接工厂。尚未在staging glassfish服务器中创建资源。虽然允许部署EJB模块,但是来自控制台的JNDI日志显示,由于部署模块时出现问题,因此没有任何EJB绑定到任何名称。