Druid配置
来源:互联网 发布:nodejs 数组排序 编辑:程序博客网 时间:2024/05/16 04:29
Druid 有两种配置方法:一种是基于spring的配置,另一种是手动创建链接。
下面简述这两种方法。
一、Spring配置
把数据源改为以下配置:
- <span style="white-space:pre"> </span>
- <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
- <property name="url" value="${jdbc.url}" />
- <property name="username" value="${jdbc.username}"/>
- <property name="password" value="${jdbc.password}"/>
- <property name="initialSize" value="1" />
- <property name="minIdle" value="1" />
- <property name="maxActive" value="20" />
- <property name="maxWait" value="60000" />
- <property name="useUnfairLock" value="true"/>
- <property name="timeBetweenEvictionRunsMillis" value="60000" />
- <property name="minEvictableIdleTimeMillis" value="300000" />
- <property name="validationQuery" value="SELECT 'x'" />
- <property name="testWhileIdle" value="true" />
- <property name="testOnBorrow" value="false" />
- <property name="testOnReturn" value="false" />
- <property name="poolPreparedStatements" value="true" />
- <property name="maxOpenPreparedStatements" value="20" />
- <property name="filters" value="stat" />
- </bean>
配置web.xml 开启Druid的内置监控页面
在web.xml中添加以下代码
- <span style="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>
- <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>
配置完后,重启工程,访问监控页面:http://ip:port/projectName/druid/index.html
二、手动创建链接。
采用new DruidDataSource ()或者DruidDataSourceFactory .createDataSource(properties)的方式均可,前者需要手动设置参数值,后者自动从配置文件中读取,可根据需要使用。
- package demo.test;
-
- import java.io.InputStream;
- import java.sql.Connection;
- import java.sql.SQLException;
- import java.util.Properties;
- import javax.sql.DataSource;
- import com.alibaba.druid.pool.DruidDataSourceFactory;
-
- public class DBUtil {
- private static DataSource ds = null;
- static {
- try{
- InputStream in = DBUtil.class.getClassLoader().getResourceAsStream("ds.properties");
- Properties props = new Properties();
- props.load(in);
- ds = DruidDataSourceFactory.createDataSource(props);
- }catch(Exception ex){
- ex.printStackTrace();
- }
- }
- public static Connection openConnection() throws SQLException{
- return ds.getConnection();
- }
- }
ds.properties
- driverClassName = com.mysql.jdbc.Driver
- url = jdbc:mysql://localhost:3306/yuan_web
- username = ******
- password = ******
-
- initialSize = 5
- maxActive = 10
- minIdle = 3
- maxWait = 60000
- removeAbandoned = true
- removeAbandonedTimeout = 180
- timeBetweenEvictionRunsMillis = 60000
- minEvictableIdleTimeMillis = 300000
- validationQuery = SELECT 1 FROM DUAL
- testWhileIdle = true
- testOnBorrow = false
- testOnReturn = false
- poolPreparedStatements = true
- maxPoolPreparedStatementPerConnectionSize = 50
- filters = stat