if (f.tryDestroyDataSource(real)) { return true;
public DataSource tryCreateDataSource(DataSourceProps conf) throws SQLException { DataSource ds = null; String name = conf.getDataSourceType(); if(!Strings.isEmpty(name)) { DataSourceFactory dsf = dataSourceFactories.get(name); if(null == dsf) { throw new IllegalStateException("DataSource Type '" + name + "' not found"); } ds = dsf.tryCreateDataSource(conf); }else if(null != defaultDataSourceFactory){ ds = defaultDataSourceFactory.tryCreateDataSource(conf); } if(null == ds && config.isDebug()){ ds = unpooledDataSourceFactory.tryCreateDataSource(conf); } if(null != ds) { validateDataSource(ds); } if(monitoring && null != ds && ! (ds instanceof MDataSourceProxy)) { ds = new MDataSourceProxy(ds, this); } return ds; }