1 21 package com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl; 22 23 import org.apache.commons.logging.Log; 24 import org.apache.commons.logging.LogFactory; 25 import org.apache.commons.pool.ObjectPoolFactory; 26 27 import com.jaspersoft.jasperserver.api.JSExceptionWrapper; 28 29 33 public class DbcpDataSourceFactory implements PooledJdbcDataSourceFactory { 34 private static final Log log = LogFactory.getLog(DbcpDataSourceFactory.class); 35 36 private ObjectPoolFactory objectPoolFactory; 37 38 public PooledDataSource createPooledDataSource(String driverClass, String url, String username, String password) { 39 registerDriver(driverClass); 40 41 return new DbcpDataSource(objectPoolFactory, url, username, password); 42 } 43 44 protected void registerDriver(String driverClass) { 45 try { 46 Class.forName(driverClass, true, Thread.currentThread() .getContextClassLoader()); 47 } catch (ClassNotFoundException e) { 48 log.error(e, e); 49 throw new JSExceptionWrapper(e); 50 } 51 } 52 53 public ObjectPoolFactory getObjectPoolFactory() { 54 return objectPoolFactory; 55 } 56 57 public void setObjectPoolFactory(ObjectPoolFactory genericObjectPoolFactory) { 58 this.objectPoolFactory = genericObjectPoolFactory; 59 } 60 } 61 | Popular Tags |