1. 程式人生 > >Druid連線池及監控在spring中的配置

Druid連線池及監控在spring中的配置

Druid連線池及監控在Spring配置如下:

  1. <beanid="dataSource"class="com.alibaba.druid.pool.DruidDataSource"init-method="init"destroy-method="close">
  2.     <!-- 基本屬性 url、user、password -->
  3.     <propertyname="url"value="${jdbc_url}"/>
  4.     <propertyname="username"value="${jdbc_user}"/>
  5.     <property
    name="password"value="${jdbc_password}"/>
  6.     <!-- 配置初始化大小、最小、最大 -->
  7.     <propertyname="initialSize"value="1"/>
  8.     <propertyname="minIdle"value="1"/>
  9.     <propertyname="maxActive"value="20"/>
  10.     <!-- 配置獲取連線等待超時的時間 -->
  11.     <propertyname="maxWait"value="60000"/>
  12.     <!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒 -->
  13.     <propertyname="timeBetweenEvictionRunsMillis"value="60000"/>
  14.     <!-- 配置一個連線在池中最小生存的時間,單位是毫秒 -->
  15.     <propertyname="minEvictableIdleTimeMillis"value="300000"/>
  16.     <propertyname="validationQuery"value="SELECT 'x'"/>
  17.     <propertyname="testWhileIdle"value="true"/>
  18.     <property
    name="testOnBorrow"value="false"/>
  19.     <propertyname="testOnReturn"value="false"/>
  20.     <!-- 開啟PSCache,並且指定每個連線上PSCache的大小 -->
  21.     <propertyname="poolPreparedStatements"value="true"/>
  22.     <propertyname="maxPoolPreparedStatementPerConnectionSize"value="20"/>
  23.     <!-- 配置監控統計攔截的filters,去掉後監控介面sql無法統計 -->
  24.     <propertyname="filters"value="stat"/>
  25. </bean>
只要配置initialSize,maxActive就可以,目前這樣的配置已經能夠使用連線池,加入其實配置效能不好,官方文件裡也不沒加其它屬性,連線池jar包免費下載

然後是監控的配置:

web.xml

  1. <spanstyle="white-space:pre"></span><filter>
  2.         <filter-name>DruidWebStatFilter</filter-name>
  3.         <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
  4.         <init-param>
  5.             <param-name>exclusions</param-name>
  6.             <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
  7.         </init-param>
  8.       </filter>
  9.       <filter-mapping>
  10.         <filter-name>DruidWebStatFilter</filter-name>
  11.         <url-pattern>/*</url-pattern>
  12.       </filter-mapping>

filter可以監控webURl 訪問

  1. <spanstyle="white-space:pre"></span><servlet>
  2.         <servlet-name>DruidStatView</servlet-name>
  3.         <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
  4.     </servlet>
  5.     <servlet-mapping>
  6.         <servlet-name>DruidStatView</servlet-name>
  7.         <url-pattern>/druid/*</url-pattern>
  8.     </servlet-mapping>

該配置可以訪問監控介面,配置好後,訪問http://ip地址:埠號/專案名/druid/index.html即可監控資料庫訪問效能。