gpt4 book ai didi

java - WebSphere v7.0 未部署 EJB

转载 作者:太空宇宙 更新时间:2023-11-04 13:27:55 25 4
gpt4 key购买 nike

我正在开发一个企业应用程序并构建了 EAR 文件,其中包含 WAR 和 ejb jar 文件以及 SOAP Web 服务。我成功地部署了应用程序,没有任何启动错误,并发布了 Web 服务,并且我可以访问 wsdl 文件并从 SOAP UI 进行 Web 服务调用。 Web 服务调用某个 Manager 类,该类执行 EJB 查找以查找失败的 session bean,并出现异常 javax.naming.NameNotFoundException:在上下文“ejblocal:”中未找到名称 com.chubb.dgmk.dus.client.DigitalUserServiceLocal。

我的 session ejb 被标记为 @Stateless 和带有 @Local 注释的本地接口(interface)。但是当我在管理控制台中查看我的应用程序时,我没有看到任何已部署的 EJB。引用部分下不存在“EJB 引用”链接,如下图所示。由于我没有收到任何部署错误,因此我不知道出了什么问题。

try {
context = new InitialContext();
Object obj = context.lookup("ejblocal:com.chubb.dgmk.dus.client.DigitalUserServiceLocal");
dusService = (IDigitalUserService)obj;
} catch (NamingException e) {
}

enter image description here

enter image description here

最佳答案

您看不到引用,因为您提供服务的 Web 模块中没有定义引用。您需要在 web.xml@EJB 注释中包含 ejb-local-ref 条目。

关于您的 ejblocal: 查找,它应该可以工作。在 SystemOut.log 中验证 DigitalUserService 所绑定(bind)的绑定(bind)是什么。也许您有 ibm-ejb-jar-bnd.xml 文件,它会覆盖默认绑定(bind)。

您还应该能够在该页面的Enterprise Java Beans Properties 部分中看到EJB JNDI 名称。如果不这样做,那么看起来您的 EJB 没有被检测到。

关于java - WebSphere v7.0 未部署 EJB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32473083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com