package ddth.dasp.framework.dbc;
import org.apache.commons.lang3.builder.HashCodeBuilder;
/**
* Database Connection Pool Info.
*
* @author NBThanh <btnguyen2k@gmail.com>
*/
public class DbcpInfo {
/**
* Default lifetime (ms) of an opened DB connection.
*/
public final static long DEFAULT_MAX_CONNECTION_LIFETIME = -1;
/**
* Default wait time (ms) the pool will wait to obtain a DB connection.
*/
public final static long DEFAULT_MAX_WAIT_TIME = 3000;
/**
* Default maximum number of active DB connections.
*/
public final static int DEFAULT_MAX_ACTIVE = 8;
/**
* Default maximum number of idle DB connections.
*/
public final static int DEFAULT_MAX_IDLE = 4;
/**
* Default minimum number of idle DB connections.
*/
public final static int DEFAULT_MIN_IDLE = 1;
private int maxActive = DEFAULT_MAX_ACTIVE, maxIdle = DEFAULT_MAX_IDLE,
minIdle = DEFAULT_MIN_IDLE;
private long maxWaitTime = DEFAULT_MAX_WAIT_TIME;
public int getMaxActive() {
return maxActive;
}
public DbcpInfo setMaxActive(int maxActive) {
this.maxActive = maxActive;
return this;
}
public int getMaxIdle() {
return maxIdle;
}
public DbcpInfo setMaxIdle(int maxIdle) {
this.maxIdle = maxIdle;
return this;
}
public int getMinIdle() {
return minIdle;
}
public DbcpInfo setMinIdle(int minIdle) {
this.minIdle = minIdle;
return this;
}
public long getMaxWaitTime() {
return maxWaitTime;
}
public DbcpInfo setMaxWaitTime(long maxWaitTime) {
this.maxWaitTime = maxWaitTime;
return this;
}
/**
* {@inheritDoc}
*/
@Override
public int hashCode() {
HashCodeBuilder hcb = new HashCodeBuilder(19, 81);
hcb.append(this.maxActive).append(this.maxIdle).append(this.maxWaitTime)
.append(this.minIdle);
return hcb.hashCode();
}
public static DbcpInfo newInstance() {
return new DbcpInfo();
}
}