偶尔的机会解释Druid连接池,后起之秀,但是评价不错,另外由于是阿里淘宝使用过的所以还是蛮看好的。
Druid集连接池,监控于一体整好复合当前项目的需要,项目是ssh结构,之前是用C3p0的,现在换一个连接池也是很简单的,首先spring配置DataSource,配置如下:
- <</span>bean
id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> -
-
<</span>property name="url" value="${jdbc_url}" /> -
<</span>property name="username" value="${jdbc_user}" /> -
<</span>property name="password" value="${jdbc_password}" /> -
-
-
<</span>property name="initialSize" value="1" /> -
<</span>property name="minIdle" value="1" /> -
<</span>property name="maxActive" value="20" /> -
-
-
<</span>property name="maxWait" value="60000" /> -
-
-
<</span>property name="timeBetweenEvictionRunsM illis" value="60000" /> -
-
-
<</span>property name="minEvictableIdleTimeMill is" value="300000" /> -
-
<</span>property name="validationQuery" value="SELECT 'x'" /> -
<</span>property name="testWhileIdle" value="true" /> -
<</span>property name="testOnBorrow" value="false" /> -
<</span>property name="testOnReturn" value="false" /> -
-
-
<</span>property name="poolPreparedStatements" value="true" /> -
<</span>property name="maxPoolPreparedStatement PerConnectionSize" value="20" /> -
-
-
<</span>property name="filters" value="stat" /> - </</span>bean>
然后是监控的配置:
web.xml
- <</span>span
style="white-space:pre"> </</span>span><</span>filter> -
<</span>filter-name>DruidWebStatFilter</</span>filter-name> -
<</span>filter-class>com.alibaba.druid.support.http.WebStatFilter</</span>filter-class> -
<</span>init-param> -
<</span>param-name>exclusions</</span>param-name> -
<</span>param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</</span>param-value> -
</</span>init-param> -
</</span>filter> -
<</span>filter-mapping> -
<</span>filter-name>DruidWebStatFilter</</span>filter-name> -
<</span>url-pattern>/*</</span>url-pattern> -
</</span>filter-mapping>
filter可以监控webURl 访问
- <</span>span
style="white-space:pre"> </</span>span><</span>servlet> -
<</span>servlet-name>DruidStatView</</span>servlet-name> -
<</span>servlet-class>com.alibaba.druid.support.http.StatViewServlet</</span>servlet-class> -
</</span>servlet> -
<</span>servlet-mapping> -
<</span>servlet-name>DruidStatView</</span>servlet-name> -
<</span>url-pattern>/druid/*</</span>url-pattern> -
</</span>servlet-mapping>
配置好后访问 http://ip:port/projectName/druid/index.html
经过上面的配置,我们已经能够达到连接池的使用和监控,这个只是简单的入门,如果还要更详细的学习,还得论坛上多多交流。