Druid连接池及监控在Spring配置如下:
- <beanid="dataSource"class="com.alibaba.druid.pool.DruidDataSource"init-method="init"destroy-method="close">
- <!--基本属性url、user、password-->
- <propertyname="url"value="${jdbc_url}"/>
- <propertyname="username"value="${jdbc_user}"/>
- <propertyname="password"value="${jdbc_password}"/>
- <!--配置初始化大小、最小、最大-->
- <propertyname="initialSize"value="1"/>
- <propertyname="minIdle"value="1"/>
- <propertyname="maxActive"value="20"/>
- <!--配置获取连接等待超时的时间-->
- <propertyname="maxWait"value="60000"/>
- <!--配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒-->
- <propertyname="timeBetweenEvictionRunsMillis"value="60000"/>
- <!--配置一个连接在池中最小生存的时间,单位是毫秒-->
- <propertyname="minEvictableIdleTimeMillis"value="300000"/>
- <propertyname="validationQuery"value="SELECT'x'"/>
- <propertyname="testWhileIdle"value="true"/>
- <propertyname="testOnBorrow"value="false"/>
- <propertyname="testOnReturn"value="false"/>
- <!--打开PSCache,并且指定每个连接上PSCache的大小-->
- <propertyname="poolPreparedStatements"value="true"/>
- <propertyname="maxPoolPreparedStatementPerConnectionSize"value="20"/>
- <!--配置监控统计拦截的filters,去掉后监控界面sql无法统计-->
- <propertyname="filters"value="stat"/>
- </bean>
然后是监控的配置:
web.xml
- <spanstyle="white-space:pre"></span><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>
filter可以监控webURl 访问
- <spanstyle="white-space:pre"></span><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>
该配置可以访问监控界面,配置好后,访问http://ip地址:端口号/项目名/druid/index.html即可监控数据库访问性能。