Glassfish,通过 JNDI 获取 EJB 时出现问题
我正在尝试从 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题是
Connector
接口必须注释为@Local
接口。现在可以了。The problem was that the
Connector
interface had to be annotated as@Local
interface. Now it works.