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

发布于 2024-11-07 06:21:06 字数 415 浏览 1 评论 0原文

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

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

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

I develop enterprise project in NetBeans on GlassFish (J2EE_1.4).
There are some entity beans, a couple of session beans and message driven bean in my project.
I use entity beans from servlet (in same project, from web-component) in way like this:

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

Everything works just fine.
But when I try to do lookup from session bean or MDB I get naming error. No bean can lookup any other bean.
There are some references in web deployment descriptors, but AFAIK there's no need to define references for EJB.
Also all entity beans have only local interface.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半岛未凉 2024-11-14 06:21:06

每个 EJB 都有自己的 java:comp 命名空间,因此在 J2EE 1.4 中,每个 必须有自己的 < code>(或 )。

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

Each EJB has its own java:comp namespace, so in J2EE 1.4, each <entity/> or <message-driven/> must have its own <ejb-ref/> (or <ejb-local-ref/>).

In JavaEE 6, a single EJB (or the servlet), can declare an ejb-ref with a java:module (or java:app) prefix to allow any component in that scope to be able to share the reference.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文