/** * 配置数据源 * * @param ds * @return * @throws SQLException */ @Bean(initMethod = "init", destroyMethod = "close") public DataSource dataSource(DruidSettings ds) { DruidDataSource dataSource = new DruidDataSource(); dataSource.setUrl(ds.getUrl()); dataSource.setUsername(ds.getUsername()); dataSource.setPassword(ds.getPassword()); dataSource.setInitialSize(ds.getInitialSize()); dataSource.setMaxActive(ds.getMaxActive()); dataSource.setMinIdle(ds.getMinIdle()); dataSource.setMaxWait(ds.getMaxWait()); dataSource.setValidationQuery(ds.getValidationQuery()); dataSource.setTimeBetweenEvictionRunsMillis(ds.getTimeBetweenEvictionRunsMillis()); dataSource.setMinEvictableIdleTimeMillis(ds.getMinEvictableIdleTimeMillis()); dataSource.setTestWhileIdle(ds.isTestWhileIdle()); dataSource.setTestOnBorrow(ds.isTestOnBorrow()); dataSource.setTestOnReturn(ds.isTestOnReturn()); dataSource.setPoolPreparedStatements(ds.isPoolPreparedStatements()); dataSource.setMaxOpenPreparedStatements(ds.getMaxOpenPreparedStatements()); try { dataSource.setFilters(ds.getFilters()); } catch (SQLException e) { e.printStackTrace(); LOGGER.error("init druid source error", e); } LOGGER.debug("init druid source"); return dataSource; }
protected void setUp() throws Exception { DruidDataSourceStatManager.clear(); driver = new MockDriver(); dataSource = new DruidDataSource(); dataSource.setUrl("jdbc:mock:xxx"); dataSource.setDriver(driver); dataSource.setInitialSize(1); dataSource.setMaxActive(2); dataSource.setMinIdle(1); dataSource.setMinEvictableIdleTimeMillis(300 * 1000); // 300 / 10 dataSource.setTimeBetweenEvictionRunsMillis(180 * 1000); // 180 / 10 dataSource.setTestWhileIdle(true); dataSource.setTestOnBorrow(true); dataSource.setTestOnReturn(true); dataSource.setValidationQuery("SELECT 1"); dataSource.setFilters("stat"); JdbcStatContext context = new JdbcStatContext(); context.setTraceEnable(true); JdbcStatManager.getInstance().setStatContext(context); }