从spring-jdbc-4.1.6.RELEASE使用JDBCTemplate时,JProfiler识别“Unclosed Collected”连接

时间:2016-04-28 17:20:16

标签: java spring spring-jdbc jdbctemplate jprofiler

我们正在测试供应商代码,为了提高性能,我们安装了JProfiler 9.1.1。 JProfiler有助于识别性能问题。

JProfiler确定的一件事是“Unclosed Collected”连接。

JProfiler将“Unclosed Collected”连接定义为:

  

虚拟连接,其中已经分发了连接对象   数据库池已被垃圾收集,但尚未调用close()。这是一个明确的连接泄漏。

根据JProfiler,触发“Unclosed Collected”连接的方法是:

org.springframework.jdbc.core.JdbcTemplate.query(
      java.lang.String, java.lang.Object[ ],
      org.springframework.jdbc.core.RowMapper)

我们正在使用SQL Server 2012和JBoss EAP 6.3.3。

数据源配置

<datasource jta="false" jndi-name="java:/jdbc/abcclmicdds" pool-name="clmDataSource" enabled="true" use-ccm="false">
    <connection-url>jdbc:IP_GOES_HERE</connection-url>
    <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
    <driver>sqlserver2012</driver>
    <pool>
        <min-pool-size>10</min-pool-size>
        <max-pool-size>60</max-pool-size>
    </pool>
    <security>
        <user-name>USERNAME_GOES_HERE</user-name>
        <password>PASSWORD_GOES_HERE</password>
    </security>
    <validation>
        <validate-on-match>false</validate-on-match>
        <background-validation>false</background-validation>
    </validation>
    <timeout>
        <idle-timeout-minutes>0</idle-timeout-minutes>
    </timeout>
    <statement>
        <share-prepared-statements>false</share-prepared-statements>
    </statement>
</datasource>

供应商回来并声称JProfiler错误地将其识别为“Unclosed Collected”。

JdbcTemplate旨在自动关闭连接。有没有人遇到过这样的事情? JProfiler可能会错误地识别这些连接吗?

0 个答案:

没有答案