相关配置:

web.xml配置

Xml代码

<!--druid数据源,用于采集web-jdbc关联监控的数据-->

<!--具体参考官网:https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_%E9%85%8D%E7%BD%AEWebStatFilter-->

<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>

<init-param>

<param-name>profileEnable</param-name>

<param-value>true</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>DruidWebStatFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

Xml代码下载

<!--展示Druid的统计信息-->

<!--具体可以看官网信息:https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatViewServlet%E9%85%8D%E7%BD%AE-->

<servlet>

<servlet-name>DruidStatView</servlet-name>

<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>DruidStatView</servlet-name>

<!--访问路径eg:http://localhost:8080/path/druid/index.html-->

<url-pattern>/druid/*</url-pattern>

</servlet-mapping>

spring.xml配置

Xml代码下载

<!--Druid和Spring关联监控配置start-->

<!--具体可以查阅官网:https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_Druid%E5%92%8CSpring%E5%85%B3%E8%81%94%E7%9B%91%E6%8E%A7%E9%85%8D%E7%BD%AE-->

<beanid="druid-stat-interceptor"class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor"/>

<beanid="druid-stat-pointcut"class="org.springframework.aop.support.JdkRegexpMethodPointcut"scope="prototype">

<propertyname="patterns">

<list>

<value>com.cp2015.function.*.service.*</value>

<!--如果使用的是hibernate则这里也要扫描路径,但是mybatis不需要-->

<!--<value>com.youmeek.ssm.module.*.dao.*</value>-->

</list>

</property>

</bean>

<aop:configproxy-target-class="true">

<!--pointcut-ref="druid-stat-pointcut"这个报红没事-->

<aop:advisoradvice-ref="druid-stat-interceptor"pointcut-ref="druid-stat-pointcut"/>

</aop:config>

<!--Druid和Spring关联监控配置end-->

数据源配置:

1)tomcat JNDI配置

Xml代码下载

<Resource

name="jdbc/user2"

factory="com.alibaba.druid.pool.DruidDataSourceFactory"

auth="Container"

type="javax.sql.DataSource"

driverClassName="com.mysql.jdbc.Driver"

url="jdbc:mysql://127.0.0.1:3306/cp2015DB?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true"

username="cp2015"

password="cp2015"

maxActive="100"

maxIdle="30"

maxWait="10000"

removeabandoned="true"

removeabandonedtimeout="60"

logabandoned="false"

filters="stat"/>

2)jdbc配置

Xml代码下载

<!--具体查看官网信息:https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_DruidDataSource%E5%8F%82%E8%80%83%E9%85%8D%E7%BD%AE-->

<beanid="dataSource"class="com.alibaba.druid.pool.DruidDataSource"init-method="init"destroy-method="close">

<!--这三个变量读取config.properties的-->

<propertyname="url"value="${data_source_url}"/>

<propertyname="username"value="${data_source_username}"/>

<propertyname="password"value="${data_source_password}"/>

<!--初始化连接大小-->

<propertyname="initialSize"value="1"/>

<!--初始化连接池最大使用连接数量-->

<propertyname="maxActive"value="20"/>

<!--初始化连接池最小空闲-->

<propertyname="minIdle"value="1"/>

<!--获取连接最大等待时间,单位毫秒-->

<propertyname="maxWait"value="60000"/>

<!--配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒-->

<propertyname="timeBetweenEvictionRunsMillis"value="60000"/>

<!--配置一个连接在池中最小生存的时间,单位是毫秒-->

<propertyname="minEvictableIdleTimeMillis"value="25200000"/>

<!--打开PSCache,并且指定每个连接上PSCache的大小-->

<!--如果用Oracle,则把poolPreparedStatements配置为true,mysql可以配置为false。分库分表较多的数据库,建议配置为false。-->

<propertyname="poolPreparedStatements"value="false"/>

<propertyname="maxPoolPreparedStatementPerConnectionSize"value="20"/>

<propertyname="validationQuery"value="${validation_query}"/>

<propertyname="testWhileIdle"value="true"/>

<propertyname="testOnBorrow"value="false"/>

<propertyname="testOnReturn"value="false"/>

<!--当程序存在缺陷时,申请的连接忘记关闭,这时候,就存在连接泄漏了。Druid提供了RemoveAbandanded相关配置,用来关闭长时间不使用的连接-->

<!--配置removeAbandoned对性能会有一些影响,建议怀疑存在泄漏之后再打开。在上面的配置中,如果连接超过30分钟未关闭,就会被强行回收,并且日志记录连接申请时的调用堆栈。-->

<!--具体查看官网信息:https://github.com/alibaba/druid/wiki/%E8%BF%9E%E6%8E%A5%E6%B3%84%E6%BC%8F%E7%9B%91%E6%B5%8B-->

<!--打开removeAbandoned功能-->

<propertyname="removeAbandoned"value="true"/>

<!--1800秒,也就是30分钟-->

<propertyname="removeAbandonedTimeout"value="1800"/>

<!--关闭abanded连接时输出错误日志-->

<propertyname="logAbandoned"value="true"/>

<!--配置监控统计拦截的filters-->

<!--官网信息:https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatFilter-->

<!--mergeSql可以合并输出的sql,方便查看,但是在mybatis框架中使用这个则无法监控sql,需要用stat-->

<!--<propertyname="filters"value="mergeSql,log4j"/>-->

<!--<propertyname="filters"value="mergeSql,wall"/>-->

<!--<propertyname="filters"value="stat"/>-->

<!--<propertyname="filters"value="mergeSql"/>-->

<propertyname="filters"value="stat,log4j"/>

</bean>