一、Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。
二、Maven中央仓库下载;http://central.maven.org/maven2/com/alibaba/druid/
三、配置
3.1、web.xml配置
1 <filter> 2 3 <filter-name>DruidWebStatFilter</filter-name> 4 5 <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class> 6 7 <init-param> 8 9 <param-name>exclusions</param-name> 10 11 <param-value>/static/*,*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value> 12 13 </init-param> 14 15 </filter> 16 17 <filter-mapping> 18 19 <filter-name>DruidWebStatFilter</filter-name> 20 21 <url-pattern>/*</url-pattern> 22 23 </filter-mapping> 24 25 26 27 <!-- 28 druid监控 --> 29 30 <servlet> 31 32 <servlet-name>DruidStatView</servlet-name> 33 34 <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> 35 36 </servlet> 37 38 <servlet-mapping> 39 40 <servlet-name>DruidStatView</servlet-name> 41 42 <url-pattern>/druid/*</url-pattern> 43 44 </servlet-mapping>
3.2、spring整合配置
1 <!-- 配置数据源 --> 2 <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> 3 <property name="url" value="jdbc:mysql://127.0.0.1:3306/paynow?characterEncoding=UTF-8"/> 4 <property name="username" value="root"/> 5 <property name="password" value="root"/> 6 7 <!-- 初始化链接大小 --> 8 <property name="initialSize" value="0" /> 9 <!-- 链接池最大使用链接数量 --> 10 <property name="maxActive" value="20" /> 11 <!-- 链接池最大空闲 --> 12 <property name="maxIdle" value="20" /> 13 <!-- 链接池最小空闲 --> 14 <property name="minIdle" value="0" /> 15 <!-- 获取链接最大等待时间 --> 16 <property name="maxWait" value="60000" /> 17 18 <property name="validationQuery" value="SELECT 'x' from dual" /> 19 <property name="testOnBorrow" value="false" /> 20 <property name="testOnReturn" value="false" /> 21 <property name="testWhileIdle" value="true" /> 22 23 <!-- 配置间隔多久进行一次检测,检测需要关闭的空闲链接,单位是毫秒 --> 24 <property name="timeBetweenEvictionRunsMillis" value="60000" /> 25 <!-- 配置一个连接池最小生存的时间,单位是毫秒 --> 26 <property name="minEvictableIdleTimeMillis" value="25200000" /> 27 28 <!-- 打开removeAbandoned功能 --> 29 <property name="removeAbandoned" value="true" /> 30 <!-- 1800秒,也就是30分钟 --> 31 <property name="removeAbandonedTimeout" value="1800" /> 32 <!-- 关闭abanded链接时输出错误日志 --> 33 <property name="logAbandoned" value="true" /> 34 35 <!-- 监控数据库 --> 36 <property name="filters" value="mergeStat" /> 37 </bean>
数据源集成了监控页面 输入工程后加druid/index.html即可看到