美文网首页
使用 Spring JdbcTemplate 框架出现 orac

使用 Spring JdbcTemplate 框架出现 orac

作者: deniro | 来源:发表于2021-12-11 09:22 被阅读0次

    1 问题

    应用运行一段时间之后,无法执行写入数据库操作。底层使用的是 druid 连接池。

    2 原因

    使用 Spring JdbcTemplate 框架执行 oracle sql 语句之后,发现逻辑连接没有释放:

    在这里插入图片描述

    而同一套代码执行 PostgreSQL 语句之后,Spring JdbcTemplate 框架会主动释放逻辑连接:

    在这里插入图片描述

    由于逻辑连接没有被释放,导致之后的线程在排队等待逻辑连接,从而导致线程阻塞。

    3 解决

    在执行语句后,主动回收连接:

    try {
                DataSource dataSource = jdbcTemplate.getDataSource();
                DataSourceUtils.releaseConnection(dataSource.getConnection(), dataSource);
            } catch (Exception e) {
                throw new InnerETLServiceException("无法关闭当前连接 -> " + jdbcTemplate, e);
            }
    

    相关文章

      网友评论

          本文标题:使用 Spring JdbcTemplate 框架出现 orac

          本文链接:https://www.haomeiwen.com/subject/gihkfrtx.html