0

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

4

1 回答 1

0

我假设您正在使用 JNDI 获取远程 EJB。根据 JNDI 规范,Context 有 close 方法。 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。字符串%29

于 2013-07-18T05:00:46.190 回答