为什么我们不需要关闭打开到远程EJB服务器的连接

时间:2013-07-17 20:13:26

标签: ejb lookup remote-server

当我从java进行JDBC连接查找时,在完成它之后,我应该关闭连接。 我想知道当我们查找远程EJB时,我们仍然打开某种与EJB远程服务器的“连接”。但是,嘿,我们在完成调用业务方法之后,永远不会关闭EJb远程接口。

1 个答案:

答案 0 :(得分:0)

我假设您正在使用JNDI抓取远程EJB。根据JNDI规范,Context有接近的方法。 http://docs.oracle.com/javase/6/docs/api/javax/naming/Context.html

标准库应实现此close方法并使用它,如下面的代码所示。

GenericURLContext.java的代码片段 -

public Object lookup(String name) throws NamingException {
    ResolveResult res = getRootURLContext(name, myEnv);
    Context ctx = (Context)res.getResolvedObj();
    try {
        return ctx.lookup(res.getRemainingName());
    } finally {
        ctx.close();
    }
}

参考 -

http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7-b147/com/sun/jndi/toolkit/url/GenericURLContext.java#GenericURLContext.lookup%28java.lang.String%29