您的位置:首页 > 编程语言 > Java开发

druid 配置监控界面和开启spring支持

2017-11-16 14:15 435 查看
1、配置监控页面

<!--JNDI方式配置数据源-->
<!--<beanid="dataSource"class="org.springframework.jndi.JndiObjectFactoryBean"><propertyname="jndiName"value="${jndiName}"></property></bean>-->
<!--数据源驱动类可不写,Druid默认会自动根据URL识别DriverClass-->
<!--配置数据源-->
<beanname="dataSource"class="com.alibaba.druid.pool.DruidDataSource"init-method="init"destroy-method="close">
<propertyname="url"value="${jdbc_url}"/>
<propertyname="driverClassName"value="${driverClassName}"/>
<propertyname="username"value="${jdbc_username}"/>
<propertyname="password"value="${jdbc_password}"/>

<!--初始化连接大小-->
<propertyname="initialSize"value="${jdbc_initialSize}"/>
<!--连接池最大使用连接数量-->
<propertyname="maxActive"value="${jdbc_maxActive}"/>
<!--连接池最小空闲-->
<propertyname="minIdle"value="${jdbc_minIdle}"/>
<!--获取连接最大等待时间-->
<propertyname="maxWait"value="${jdbc_maxWait}"/>

<!--<propertyname="poolPreparedStatements"value="true"/><propertyname="maxPoolPreparedStatementPerConnectionSize"value="33"/>-->

<propertyname="validationQuery"value="${validationQuery}"/>
<propertyname="testOnBorrow"value="false"/>
<propertyname="testOnReturn"value="false"/>
<propertyname="testWhileIdle"value="true"/>

<!--配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒-->
<propertyname="timeBetweenEvictionRunsMillis"value="60000"/>
<!--配置一个连接在池中最小生存的时间,单位是毫秒-->
<propertyname="minEvictableIdleTimeMillis"value="300000"/>

<!--打开removeAbandoned功能-->
<propertyname="removeAbandoned"value="true"/>
<!--1800秒,也就是30分钟-->
<propertyname="removeAbandonedTimeout"value="1800"/>
<!--关闭abanded连接时输出错误日志-->
<propertyname="logAbandoned"value="true"/>

<!--监控数据库-->
<!--配置监控统计拦截的filters-->
<propertyname="filters"value="stat,wall,log4j"/>
<!--监控统计拦截的filters-->
<!--并在filters属性中配置了log4j-->
<propertyname="proxyFilters">
<list>
<refbean="stat-filter"/>
<refbean="log-filter"/>
</list>
</property>
<!--<propertyname="filters"value="mergeStat"/>-->
</bean>
<!--慢SQL记录-->
<beanid="stat-filter"class="com.alibaba.druid.filter.stat.StatFilter">
<propertyname="mergeSql"value="true"/>
<propertyname="slowSqlMillis"value="10000"/>
<propertyname="logSlowSql"value="true"/>
</bean>
<beanid="log-filter"class="com.alibaba.druid.filter.logging.Log4jFilter">
<!--<propertyname="resultSetLogEnabled"value="false"/>-->
<!--<propertyname="statementExecutableSqlLogEnable"value="true"/>-->
</bean>


web.XML增加如下servlet


<!--druid监控-->
<servlet>
<servlet-name>DruidStatView</servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
<!--
deny优先于allow,如果在deny列表中,就算在allow列表中,也会被拒绝。
如果allow没有配置或者为空,则允许所有访问
-->
<init-param>
<param-name>allow</param-name>
<param-value>128.242.127.1/24,127.0.0.1</param-value>
</init-param>
<init-param>
<param-name>deny</param-name>
<param-value>192.168.1.118</param-value>
</init-param>
<init-param>
<param-name>resetEnable</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<!--用户名-->
<param-name>loginUsername</param-name>
<param-value>admin</param-value>
</init-param>
<init-param>
<!--密码-->
<param-name>loginPassword</param-name>
<param-value>admin</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>DruidStatView</servlet-name>
<url-pattern>/druid/*</url-pattern>
</servlet-mapping>



登录地址:http://localhost:8099/erp/druid



2、配置spring支持

在WEB.XML文件中增加如下filter
<!--druidurlmonitorsettingstart-->
<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>
<!--druidurlmonitorsettingend-->


在spring.xml页面增加如下节点。
<!--druidspringmonitorsetting-->
<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>giftcard.modules.erp.service.*</value>
<value>giftcard.modules.erp.dao.*</value>
</list>
</property>
</bean>
<aop:configproxy-target-class="true">
<aop:advisoradvice-ref="druid-stat-interceptor"pointcut-ref="druid-stat-pointcut"/>
</aop:config>


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: