与EJB3相关的查询

时间:2014-05-31 12:09:33

标签: java-ee ejb-3.0 jndi

我是EJB3.0的新手。我有一些与EJB相关的查询。 有人可以帮忙吗。

  1. EJB方法是否可以返回另一个EJB? 例如:使用JNDI的客户端获取EJB的引用并在其上调用一个方法,而这又可以返回另一个EJB? (如果可能的话)

  2. 据我所知,JNDI在某个默认端口上运行。 是否可以在自定义端口上创建JNDI并将EJB绑定到该端口? 可以使用初始上下文参数完成吗?   (如果可能的话)

  3. 假设客户端调用EJB上的方法,那个端口用于什么? 它是客户端用于访问JNDI的端口吗?还是其他一些港口?

  4. 提前谢谢

    / KAR

1 个答案:

答案 0 :(得分:0)

  1. 是。只需将方法的返回值声明为远程接口即可。应用程序服务器将完成剩下的工作。

  2. 是的,只需使用(初始)Context.bind。目前尚不清楚为什么要这样做,并且大多数应用服务器不太可能自动执行此操作。

  3. 对于RMI-IIOP,目标EJB的主机和端口在远程存根的IOR中编码。这不一定与用于执行查找的主机和端口相同。例如,在WebSphere Application Server上,可以(尽管不一定推荐)针对nodeagent进程的主机和端口引导JNDI,这可能返回EJB存根,该存根包含多个服务器的主机和端口列表(如果EJB)在群集上启动。