gpt4 book ai didi

java - 无法从其他 EJB2 查找 EJB2,但可以从 servlet 查找

转载 作者:行者123 更新时间:2023-12-01 15:51:11 28 4
gpt4 key购买 nike

我在 GlassFish (J2EE_1.4) 上的 NetBeans 中开发企业项目。我的项目中有一些实体 bean、一些 session bean 和消息驱动 bean。我以如下方式使用 servlet 中的实体 bean(在同一项目中,来自 Web 组件):

InitialContext ic;
ic = new InitialContext();
UserLocalHome userHome = (UserLocalHome) ic.lookup("java:comp/env/ejb/User");

一切都很好。但是当我尝试从 session bean 或 MDB 进行查找时,出现命名错误。没有任何 Bean 可以查找任何其他 Bean。Web 部署描述符中有一些引用,但据我所知,无需为 EJB 定义引用。而且所有实体 bean 都只有本地接口(interface)。

最佳答案

每个 EJB 都有自己的 java:comp 命名空间,因此在 J2EE 1.4 中,每个 <entity/><message-driven/>必须有自己的<ejb-ref/> (或<ejb-local-ref/>)。

在 JavaEE 6 中,单个 EJB(或 servlet)可以使用 java:module 声明 ejb-ref (或 java:app )前缀,以允许该范围内的任何组件能够共享引用。

关于java - 无法从其他 EJB2 查找 EJB2,但可以从 servlet 查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6004104/

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