Druid連線池及監控在spring中的配置
阿新 • • 發佈:2019-02-08
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}"/>
-
<property
- <!-- 配置初始化大小、最小、最大 -->
- <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"/>
-
<property
- <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即可監控資料庫訪問效能。