Druid首先是一个数据库链接池。Druid是目前最好的数据库链接池,在功能、性能、扩展性方面,都超过其余数据库链接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。css
Druid已经在阿里巴巴部署了超过600个应用,通过一年多生产环境大规模部署的严苛考验。java
同时Druid不单单是一个数据库链接池,它包括四个部分:
Druid是一个JDBC组件,它包括三个部分:git
在项目中使用Druid很是简单,只要修改下配置文件就能够了github
当咱们在javaWEB项目中使用到druid来做为咱们的链接池的时候,必定不会忘了添加监控功能。web
首先是过滤器filter的配置,在web.xml中添加以下配置spring
<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,*.png,*.css,*.ico,/druid/*</param-value> </init-param> </filter> <filter-mapping> <filter-name>DruidWebStatFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
过滤器中的配置,是用来定义咱们的监控选项,在以上的监控配置中,咱们定义了一个简单的监控,并采用了大量的默认配置,若是你想使用更丰富的监控配置,能够在druid的github wiki上获取更多的选项,地址:druid Filter 配置数据库
选项配置结束以后,就是咱们监控界面的路径配置了,servlet配置咱们将在哪里打开咱们的监控页面,在web.xml中添加以下代码编程
<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>
以上配置中,咱们将咱们的网页监控路径放在了,项目路径下的 druid路径中,相似于 www.myroject.com/druid.安全
一样的,上面的配置只是一个简单的配置,更丰富的选项,须要您移步:druid servlet 配置app
至此,一个简单的web项目就配好了监控的页面,可是大多数人在开发javaWEB项目中时都避免不了使用到各类框架和其余的技术,我将在后面的博文中陆续写出相应的配置方式。
spring配置
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="filters" value="stat" />
<property name="maxActive" value="20" />
<property name="initialSize" value="1" />
<property name="maxWait" value="60000" />
<property name="minIdle" value="1" />
<property name="timeBetweenEvictionRunsMillis" value="3000" />
<property name="minEvictableIdleTimeMillis" value="300000" />
<property name="validationQuery" value="SELECT 'x'" />
<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" />
</bean>
就能够了.
监控页面