WebSphere v7.0 未部署 EJB
WebSphere v7.0 is not deploying EJB
我正在开发一个企业应用程序并构建了包含 WAR 和 ejb jar 文件以及 SOAP Web 服务的 EAR 文件。我成功地部署了应用程序,没有任何启动错误并发布了 Web 服务,我可以访问 wsdl 文件并从 SOAP UI 进行 Web 服务调用。 Web 服务调用某个管理器 class,该管理器执行 EJB 查找以查找因异常 javax.naming.NameNotFoundException 而失败的会话 bean:在上下文中找不到名称 com.chubb.dgmk.dus.client.DigitalUserServiceLocal "ejblocal:".
我的会话 ejb 被标记为 @Stateless 和带有 @Local 注释的本地接口。但是当我在管理控制台中查看我的应用程序时,我没有看到任何已部署的 EJB。参考部分下没有 "EJB References" link ,如下图所示。由于我没有收到任何部署错误,所以我不知道出了什么问题。
try {
context = new InitialContext();
Object obj = context.lookup("ejblocal:com.chubb.dgmk.dus.client.DigitalUserServiceLocal");
dusService = (IDigitalUserService)obj;
} catch (NamingException e) {
}
您看不到引用,因为在您提供服务的 Web 模块中没有定义引用。您需要在 web.xml
或 @EJB
注释中包含 ejb-local-ref
条目。
关于您的 ejblocal:
查找,它应该有效。在 SystemOut.log
中验证绑定 DigitalUserService
的绑定是什么。也许你有 ibm-ejb-jar-bnd.xml
文件,它覆盖了默认绑定。
您还应该能够在该页面的 Enterprise Java Beans Properties
部分中看到 EJB JNDI names
。如果你不这样做,那么看起来你的 EJB 没有被检测到。
是因为在EJB工程的MANIFEST文件中没有指定依赖的jar。在 MANIFEST 文件中添加所有这些 jar 后,我能够成功加载和查找 EJB。
我正在开发一个企业应用程序并构建了包含 WAR 和 ejb jar 文件以及 SOAP Web 服务的 EAR 文件。我成功地部署了应用程序,没有任何启动错误并发布了 Web 服务,我可以访问 wsdl 文件并从 SOAP UI 进行 Web 服务调用。 Web 服务调用某个管理器 class,该管理器执行 EJB 查找以查找因异常 javax.naming.NameNotFoundException 而失败的会话 bean:在上下文中找不到名称 com.chubb.dgmk.dus.client.DigitalUserServiceLocal "ejblocal:".
我的会话 ejb 被标记为 @Stateless 和带有 @Local 注释的本地接口。但是当我在管理控制台中查看我的应用程序时,我没有看到任何已部署的 EJB。参考部分下没有 "EJB References" link ,如下图所示。由于我没有收到任何部署错误,所以我不知道出了什么问题。
try {
context = new InitialContext();
Object obj = context.lookup("ejblocal:com.chubb.dgmk.dus.client.DigitalUserServiceLocal");
dusService = (IDigitalUserService)obj;
} catch (NamingException e) {
}
您看不到引用,因为在您提供服务的 Web 模块中没有定义引用。您需要在 web.xml
或 @EJB
注释中包含 ejb-local-ref
条目。
关于您的 ejblocal:
查找,它应该有效。在 SystemOut.log
中验证绑定 DigitalUserService
的绑定是什么。也许你有 ibm-ejb-jar-bnd.xml
文件,它覆盖了默认绑定。
您还应该能够在该页面的 Enterprise Java Beans Properties
部分中看到 EJB JNDI names
。如果你不这样做,那么看起来你的 EJB 没有被检测到。
是因为在EJB工程的MANIFEST文件中没有指定依赖的jar。在 MANIFEST 文件中添加所有这些 jar 后,我能够成功加载和查找 EJB。