Discuss / Java / 数据库虚代理链接中target链接是否关闭

数据库虚代理链接中target链接是否关闭

Topic source

派森豪

#1 Created at ... [Delete] [Delete and Lock User]

LazyConnectionProxy的关闭链接代码如下

    // 覆写close方法:只有target不为null时才需要关闭:
    public void close() throws SQLException {
        if (target != null) {
            System.out.println("Close connection: " + target);
            super.close();
        }
    }

该代码中调用了super.close(),再给出的代码中没有关闭target这个真正的链接,如果完整的话是否需要在AbstractConnectionProxy中覆写close方法(单线程的情况下)

public void close() throws SQLException {
    getRealConnection().close();
}

应该不用吧。既然是实现connection接口,该接口又继承AutoCloseable接口。所以调用

protected Connection getRealConnection() {

返回connection对象。调用父类的close方法是同一个方法。


  • 1

Reply