Druid数据库连接池
Druid简介
Druid是阿里巴巴的一个开源数据库连接池,基于Apache 2.0协议,可以免费自由使用。但它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser。Druid能够提供强大的监控和扩展功能。mysql下载免费版但Druid只支持JDK 6以上版本,不支持JDK 1.4和JDK 5.0。
Druid下载:
maven中央仓库: /maven2/com/alibaba/druid/
FAQ:
github/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
源代码下载地址:github/alibaba/druid
Druid支持的数据库
Druid支持所有JDBC兼容的数据库,包括Oracle、MySql、Derby、Postgresql、SQL Server、H2等等。
Druid针对Oracle和MySql做了特别优化,比如Oracle的PS Cache内存占用优化,MySql的ping检测优化。
Druid基本配置
Druid数据库连接池的配置与传统的DBCP、C3P0、Proxool等数据连接池的配置基本相同,下面以使用了Spring的项目为例配置Druid数据库连接池。
1.在上述的Druid下载路径中下载最新的Druid jar包,目前最新的为 druid-1.0.2.jar
2.打开项目中的spring配置文件 l 文件,加入如下配置
<!-- 配置Druid连接池 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 基本的url、user、password配置 -->
<property name="url" value="jdbc:mysql://localhost:3306/cendev?useUnicode=true&characterEncoding=utf8"></property>
<property name="username" value="root"></property>
<property name="password" value="mysql"></property>
<property name="maxActive" value="100" />
<property name="initialSize" value="1" />
<property name="maxWait" value="3600000" />
<property name="minIdle" value="30" />
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<property name="minEvictableIdleTimeMillis" value="300000" />
<property name="validationQuery" value="select CURRENT_DATE" />
<property name="testWhileIdle" value="true" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<property name="poolPreparedStatements" value="true" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="20" />
<property name="filters" value="wall,stat" />
<property name="removeAbandoned" value="true"></property>
<property name="removeAbandonedTimeout" value="1800"></property>
</bean>
<!-- 配置Druid连接池 结束-->
3.上面配置中的<property name="filters" value="wall,stat" /> 该配置是配置Druid的防御sql注入的filter和监控统计拦截的filter。开启监控拦截另外还需在项目的l中配置相应的Servlet。请在l中加入如下配置。
<!-- 配置druid 连接池监控-->
<servlet>
<servlet-name>DruidStatView</servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DruidStatView</servlet-name>
<url-pattern>/druid/*</url-pattern>
</servlet-mapping>
4.添加完上述配置Druid的基本配置即可,重新启动项目,输入localhost:端口/应用名称/druid/index.html 即可打开Druid内置的监控系统。例如:localhost:8080/pm/druid/index.html
5.Druid内置的监控系统页面如下图:
通过上述配置后可以在此监控系统中查看的包括首页、数据源、SQL监控、SQL防火墙(SQL防火墙的filter即wall)、session监控。至于Web应用、URI监控、Spring监控等暂不能查看,加入后续的配置即可。
Druid内置监控中的WEB关联监控配置
使用内置监控中的WEB关联监控,需要在项目的l文件中加入如下配置:
<filter>
<filter-name>DruidWebStatFilter</filter-name>
<filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
<init-param>
<param-name>exclusions</param-name>
<param-value>*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,*.swf,/druid/*</param-val
ue>
</init-param>
</filter>
<filter-mapping>
<filter-name>DruidWebStatFilter</filter-name>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论