Postgres中的空闲连接

时间:2018-10-25 10:08:10

标签: jndi connection-pooling postgresql-10

我在Spring Appication中使用Postgres 10.3。 当我在生产中运行包含Quartz Schedular的应用程序时,它将增加DB中的空闲连接数。

这样的函数在我的代码中被调用。

public ArrayList<object> someFunction(List<String> arrString) {
    ArrayList<object> arrObject= new ArrayList<object>();
    em = getEm();

    String setFlag = "true";
    LOG.debug("----------------------------In Dao-------------------");
    try {
        String queryStm = "";
        queryStm = "select * from table where string IN :arrString ";


        Query query = em.createNativeQuery(queryStm, object.class);
        query.setParameter("string", string);

        arrObject= (ArrayList<object>) query.getResultList();


        LOG.debug("----------------------------In Dao Commit -------------------");
    } catch (Exception exception) {
        exception.printStackTrace();
        LOG.error(exception.getMessage());
    } finally {

        em.close();
    }
    return arrObject;

}

我正在使用Wildfly 10作为服务器。每当现在部署代码时,Postgres就会开始创建空闲连接,并且有时应用程序会停止连接到数据库。然后我需要恢复为旧代码。 我正在使用JndiLookup创建查找以连接到数据库实例。

ArrayList<object> arrobjects = JndiLookup.getDao()
                            .someFunction(arrString);

请帮助我创建空闲连接的内容以及如何释放它们或我做错了什么。 如果不需要连接,有什么方法可以检查我们如何删除这些空闲连接。

0 个答案:

没有答案