package com.mossle.core.jdbc;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class DbcpDataSourceInfo implements DataSourceInfo {
private static Logger logger = LoggerFactory
.getLogger(DbcpDataSourceInfo.class);
public static final int DEFAULT_MAX_ACTIVE = 8;
public static final int DEFAULT_MAX_IDLE = 8;
public static final int DEFAULT_NUM_TESTS_PER_EVICTION_RUN = 3;
public static final int DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLS = 1000 * 60 * 30;
public static final int DEFAULT_REMOVE_ABANDONED_TIMEOUT = 300;
private String name;
private String username;
private String password;
private String url;
private String driverClassName;
private boolean defaultAutoCommit = true;
private boolean defaultReadOnly = false;
private int defaultTransactionIsolation = -1;
private String defaultCatalog;
private int initialSize = 0;
private int maxActive = DEFAULT_MAX_ACTIVE;
private int maxIdle = DEFAULT_MAX_IDLE;
private int minIdle = 0;
private int maxWait = -1;
private String validationQuery;
private boolean testOnBorrow = true;
private boolean testOnReturn;
private boolean testWhileIdle;
private int timeBetweenEvictionRunsMillis = -1;
private int numTestsPerEvictionRun = DEFAULT_NUM_TESTS_PER_EVICTION_RUN;
private int minEvictableIdleTimeMills = DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLS;
private String connectionInitSqls;
private boolean poolPreparedStatements = false;
private int maxOpenPreparedStatements = -1;
private boolean accessToUnderlyingConnectionAllowed = false;
private boolean removeAbandoned = false;
private int removeAbandonedTimeout = DEFAULT_REMOVE_ABANDONED_TIMEOUT;
private boolean logAbandoned = false;
// ~ ======================================================================
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void validate() {
if (driverClassName == null) {
logger.warn("{} : driverClassName shouldnot be null", name);
}
if (url == null) {
logger.warn("{} : url shouldnot be null", name);
}
if (username == null) {
logger.warn("{} : username shouldnot be null", name);
}
if (password == null) {
logger.warn("{} : password shouldnot be null", name);
}
}
// ~ ======================================================================
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getDriverClassName() {
return driverClassName;
}
public void setDriverClassName(String driverClassName) {
this.driverClassName = driverClassName;
}
public boolean isDefaultAutoCommit() {
return defaultAutoCommit;
}
public void setDefaultAutoCommit(boolean defaultAutoCommit) {
this.defaultAutoCommit = defaultAutoCommit;
}
public boolean isDefaultReadOnly() {
return defaultReadOnly;
}
public void setDefaultReadOnly(boolean defaultReadOnly) {
this.defaultReadOnly = defaultReadOnly;
}
public int getDefaultTransactionIsolation() {
return defaultTransactionIsolation;
}
public void setDefaultTransactionIsolation(int defaultTransactionIsolation) {
this.defaultTransactionIsolation = defaultTransactionIsolation;
}
public String getDefaultCatalog() {
return defaultCatalog;
}
public void setDefaultCatalog(String defaultCatalog) {
this.defaultCatalog = defaultCatalog;
}
public int getInitialSize() {
return initialSize;
}
public void setInitialSize(int initialSize) {
this.initialSize = initialSize;
}
public int getMaxActive() {
return maxActive;
}
public void setMaxActive(int maxActive) {
this.maxActive = maxActive;
}
public int getMaxIdle() {
return maxIdle;
}
public void setMaxIdle(int maxIdle) {
this.maxIdle = maxIdle;
}
public int getMinIdle() {
return minIdle;
}
public void setMinIdle(int minIdle) {
this.minIdle = minIdle;
}
public int getMaxWait() {
return maxWait;
}
public void setMaxWait(int maxWait) {
this.maxWait = maxWait;
}
public boolean isTestWhileIdle() {
return testWhileIdle;
}
public void setTestWhileIdle(boolean testWhileIdle) {
this.testWhileIdle = testWhileIdle;
}
public boolean isTestOnBorrow() {
return testOnBorrow;
}
public void setTestOnBorrow(boolean testOnBorrow) {
this.testOnBorrow = testOnBorrow;
}
public boolean isTestOnReturn() {
return testOnReturn;
}
public void setTestOnReturn(boolean testOnReturn) {
this.testOnReturn = testOnReturn;
}
public String getValidationQuery() {
return validationQuery;
}
public void setValidationQuery(String validationQuery) {
this.validationQuery = validationQuery;
}
public int getTimeBetweenEvictionRunsMillis() {
return timeBetweenEvictionRunsMillis;
}
public void setTimeBetweenEvictionRunsMillis(
int timeBetweenEvictionRunsMillis) {
this.timeBetweenEvictionRunsMillis = timeBetweenEvictionRunsMillis;
}
public int getNumTestsPerEvictionRun() {
return numTestsPerEvictionRun;
}
public void setNumTestsPerEvictionRun(int numTestsPerEvictionRun) {
this.numTestsPerEvictionRun = numTestsPerEvictionRun;
}
public int getMinEvictableIdleTimeMills() {
return minEvictableIdleTimeMills;
}
public void setMinEvictableIdleTimeMillis(int minEvictableIdleTimeMills) {
this.minEvictableIdleTimeMills = minEvictableIdleTimeMills;
}
public String getConnectionInitSqls() {
return connectionInitSqls;
}
public void setConnectionInitSqls(String connectionInitSqls) {
this.connectionInitSqls = connectionInitSqls;
}
public boolean isPoolPreparedStatements() {
return poolPreparedStatements;
}
public void setPoolPreparedStatements(boolean poolPreparedStatements) {
this.poolPreparedStatements = poolPreparedStatements;
}
public int getMaxOpenPreparedStatements() {
return maxOpenPreparedStatements;
}
public void setmaxOpenPreparedStatements(int maxOpenPreparedStatements) {
this.maxOpenPreparedStatements = maxOpenPreparedStatements;
}
public boolean isAccessToUnderlyingConnectionAllowed() {
return accessToUnderlyingConnectionAllowed;
}
public void setAccessToUnderlyingConnectionAllowed(
boolean accessToUnderlyingConnectionAllowed) {
this.accessToUnderlyingConnectionAllowed = accessToUnderlyingConnectionAllowed;
}
public boolean isRemoveAbandoned() {
return removeAbandoned;
}
public void setRemoveAbandoned(boolean removeAbandoned) {
this.removeAbandoned = removeAbandoned;
}
public int getRemoveAbandonedTimeout() {
return removeAbandonedTimeout;
}
public void setRemoveAbandonedTimeout(int removeAbandonedTimeout) {
this.removeAbandonedTimeout = removeAbandonedTimeout;
}
public boolean isLogAbandoned() {
return logAbandoned;
}
public void setLogAbandoned(boolean logAbandoned) {
this.logAbandoned = logAbandoned;
}
}