利用DruidDataSourceFactory类提供的createDataSource方法手动创建一个datasource,代码如下:
public DataSource createdDataSource(String drive, String url, String username, String password, String datasourceName) throws Exception {
Map map = new HashMap<>();
map.put(DruidDataSourceFactory.PROP_DRIVERCLASSNAME, drive);
map.put(DruidDataSourceFactory.PROP_URL, url);
map.put(DruidDataSourceFactory.PROP_USERNAME, username);
map.put(DruidDataSourceFactory.PROP_PASSWORD, password);
// 初始化时建立物理连接的个数
map.put(DruidDataSourceFactory.PROP_INITIALSIZE, "10");
// 最小连接池数量
map.put(DruidDataSourceFactory.PROP_MINIDLE, "10");
// 最大连接池数量
map.put(DruidDataSourceFactory.PROP_MAXACTIVE, "50");
// 获取连接时最大等待时间,单位毫秒
map.put(DruidDataSourceFactory.PROP_MAXWAIT, "60000");
// 检测连接的间隔时间,单位毫秒
map.put(DruidDataSourceFactory.PROP_TIMEBETWEENEVICTIONRUNSMILLIS, "60000");
// wall:防御sql注入 stat:监控统计
map.put(DruidDataSourceFactory.PROP_FILTERS, "wall,stat");
map.put(DruidDataSourceFactory.PROP_NAME, datasourceName);
return DruidDataSourceFactory.createDataSource(map);
}
DruidDataSourceFactory提供了很多配置项,可根据实际项目进行选择,上面的例子中仅配置了最长使用的几项