0

我正在用 Java 编写一个应用程序,并且那里有一些 REST Web 服务。我的应用程序具有以下结构:http ://cl.ly/L7Pv/o

REST Web 服务类是无状态会话 bean。它就像魅力一样。但是图片上红色的类也想使用该 REST 资源。

据我所知,我不能在那里使用依赖注入和注释@EJB。我相信我必须使用 JNDI 查找。文档:http ://docs.oracle.com/javaee/6/tutorial/doc/gipjf.html

但是现在我不知道如何编写这个 JNDI 查找。我试过这两个:

context.lookup("java:global/diplomka/ListResource");
context.lookup("java:global/Diplomka_maven/ListResource");

我究竟做错了什么?首先,这是一个正确的方法吗?

谢谢

4

1 回答 1

0

如果这些类(ListResource 等)是无状态会话 bean,则可以将属性name或注释放入,例如mappedName@Stateless

@Stateless(mappedName="ejb/myRestService")
public class ListResource { ..

一旦指定了无状态 bean 的 JNDI 名称,就很容易通过 JNDI 查找来获取 bean:

InitialContext ic = new InitialContext();
ListResource lr = (ListResource) ic.lookup("ejb/myRestService");
lr.doWhateverNeeded(..);
于 2012-11-24T15:26:28.237 回答