HikariCp有很多数据库连接

时间:2014-03-23 23:26:01

标签: spring hikaricp

我最近将Spring RESTful API数据源从DriverManagerDataSource切换到HikariCp,但我的数据库连接从20个连接转到600个连接。这是否应该发生?

我的设置如下:

<bean id="jdbcDataSource"
    class="com.zaxxer.hikari.HikariDataSource" destroy-method="shutdown">
    <constructor-arg>
        <bean class="com.zaxxer.hikari.HikariConfig">
            <constructor-arg>
                <props>
                    <prop key="dataSource.url">url</prop>
                    <prop key="dataSource.user">user</prop>
                    <prop key="dataSource.password">password</prop>
                    <prop key="dataSource.cachePrepStmts">true</prop>
                    <prop key="dataSource.prepStmtCacheSize">250</prop>
                    <prop key="dataSource.prepStmtCacheSqlLimit">2048</prop>
                    <prop key="dataSource.useServerPrepStmts">true</prop>
                </props>
            </constructor-arg>
            <property name="dataSourceClassName" value="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" />
        </bean>
    </constructor-arg>
</bean>

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource" ref="jdbcDataSource" />
</bean>

1 个答案:

答案 0 :(得分:2)

我无法使用HikariCP 1.3.3版重现您的问题。我不确定您是如何测量数据库中的连接,但用户经常检查错误的指标。使用:

SHOW STATUS WHERE `variable_name` = 'Threads_connected';

而不是:

SHOW STATYS LIKE 'Con%';

经常被错误使用。