这种方法对于Orient DB中的连接管理是否正确?

时间:2016-05-23 05:19:59

标签: multithreading orientdb

我正在使用OrientGraphFactory来管理连接池

OrientGraphFactory graphFactory = new OrientGraphFactory(url,username,password).setupPool(DEFAULT_MIN_POOL_SIZE, maxPoolSize);

我有一个函数,它检查线程上的活动连接并返回它

 public OrientGraph openDatabase() {
    OrientGraph db  = (OrientGraph)OrientGraph.getActiveGraph();
    if(db==null || db.isClosed())
    {
        db = graphFactory.getTx();
    }
    return db ;
 }

在我的函数中,我必须在使用后关闭/关闭连接,否则它将在线程终止后关闭。

1 个答案:

答案 0 :(得分:2)

这种方法不正确,因为您使用的是内部API。 更简单的版本db = graphFactory.getTx();会考虑您在上面执行的所有检查。