我使用Spring Jdbc模板来获取数据库Connection。 这是我的dispatcher.xml配置
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close">
<property name="driverClassName" value="com.cloudera.impala.jdbc4.Driver" />
<property name="url"
value="jdbc:impala://IP:Port/DatabaseName;auth=noSasl" />
<property name="username" value="" />
<property name="password" value="" />
<property name="timeBetweenEvictionRunsMillis" value="50000" />
<property name="validationQuery" value="SELECT 1"/>
<property name="initialSize" value="10" />
<property name="minIdle" value="10" />
<property name="maxActive" value="100" />
<property name="jmxEnabled" value="true" />
<property name="testOnBorrow" value="true"/>
<property name="testOnConnect" value="true"/>
<property name="testOnReturn" value="true"/>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
我使用jdbcTemplate执行我的查询作为autowird对象以及NamedParameterJdbcTemplate通过新的NamedParameterJdbcTemplate(datasource)
NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource);
在获取JDBC连接时,它需要太长时间或失败一些,如果我使用“NamedParameterJdbcTemplate”对象的自动对象,我不知道连接泄漏发生在哪里。
谢谢, 希瓦