Glassfish,通过 JNDI 获取 EJB 时出现问题

发布于 2024-11-16 23:36:46 字数 389 浏览 1 评论 0原文

我正在尝试从 EJB1 获取对 EJB2 的引用。 EJB2是单独部署的,但它们都运行在同一个容器中。我在 EJB1 中使用以下代码:

Context ctx = new InitialContext();
Connector connector = (Connector) ctx.lookup("java:global/earFile/ejbArtifact/EJB2")

Connector 是与 EJB1 一起打包的接口。它是由EJB2实现的。

上面的代码片段将给我以下异常消息:

$Proxy283 cannot be cast to Connector

我在这里缺少什么?

I am trying to obtain a reference to EJB2 from EJB1. EJB2 is deployed separately, but they are both running in the same container. I'm using the following code in EJB1:

Context ctx = new InitialContext();
Connector connector = (Connector) ctx.lookup("java:global/earFile/ejbArtifact/EJB2")

Connector is an interface which is packaged with EJB1. It is implemented by EJB2.

The above snippet will give me following exception message:

$Proxy283 cannot be cast to Connector

What am I missing here?

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

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

发布评论

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

评论(1

时光无声 2024-11-23 23:36:46

问题是 Connector 接口必须注释为 @Local 接口。现在可以了。

The problem was that the Connector interface had to be annotated as @Local interface. Now it works.

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