我是EJB3.0的新手。我有一些与EJB相关的查询。 有人可以帮忙吗。
EJB方法是否可以返回另一个EJB? 例如:使用JNDI的客户端获取EJB的引用并在其上调用一个方法,而这又可以返回另一个EJB? (如果可能的话)
据我所知,JNDI在某个默认端口上运行。 是否可以在自定义端口上创建JNDI并将EJB绑定到该端口? 可以使用初始上下文参数完成吗? (如果可能的话)
假设客户端调用EJB上的方法,那个端口用于什么? 它是客户端用于访问JNDI的端口吗?还是其他一些港口?
提前谢谢
/ KAR
答案 0 :(得分:0)
是。只需将方法的返回值声明为远程接口即可。应用程序服务器将完成剩下的工作。
是的,只需使用(初始)Context.bind。目前尚不清楚为什么要这样做,并且大多数应用服务器不太可能自动执行此操作。
对于RMI-IIOP,目标EJB的主机和端口在远程存根的IOR中编码。这不一定与用于执行查找的主机和端口相同。例如,在WebSphere Application Server上,可以(尽管不一定推荐)针对nodeagent进程的主机和端口引导JNDI,这可能返回EJB存根,该存根包含多个服务器的主机和端口列表(如果EJB)在群集上启动。