Java数据库连接-集成第三方ORM框架-iBatis(二)

2014-11-24 02:08:33 · 作者: · 浏览: 7
.PingEnabled
* Pool.PingConnectionsOlderThan
* Pool.PingConnectionsNotUsedFor
* Pool.QuietMode
*/
private void initialize(Map props) {
...
if (!(props.containsKey(PROP_JDBC_DRIVER)
&& props.containsKey(PROP_JDBC_URL)
&& props.containsKey(PROP_JDBC_USERNAME)
&& props.containsKey(PROP_JDBC_PASSWORD))) {
throw new RuntimeException("SimpleDataSource: Some properties were not set.");
} else {

jdbcDriver = (String) props.get(PROP_JDBC_DRIVER);
jdbcUrl = (String) props.get(PROP_JDBC_URL);
jdbcUsername = (String) props.get(PROP_JDBC_USERNAME);
jdbcPassword = (String) props.get(PROP_JDBC_PASSWORD);

poolMaximumActiveConnections =
props.containsKey(PROP_POOL_MAX_ACTIVE_CONN)
Integer.parseInt((String) props.get(PROP_POOL_MAX_ACTIVE_CONN))
: 10;

poolMaximumIdleConnections =
props.containsKey(PROP_POOL_MAX_IDLE_CONN)
Integer.parseInt((String) props.get(PROP_POOL_MAX_IDLE_CONN))
: 5;

poolMaximumCheckoutTime =
props.containsKey(PROP_POOL_MAX_CHECKOUT_TIME)
Integer.parseInt((String) props.get(PROP_POOL_MAX_CHECKOUT_TIME))
: 20000;

poolTimeToWait =
props.containsKey(PROP_POOL_TIME_TO_WAIT)
Integer.parseInt((String) props.get(PROP_POOL_TIME_TO_WAIT))
: 20000;

poolPingEnabled =
props.containsKey(PROP_POOL_PING_ENABLED)
&& Boolean.valueOf((String) props.get(PROP_POOL_PING_ENABLED)).booleanValue();

prop_pool_ping_query = (String) props.get(PROP_POOL_PING_QUERY);
poolPingQuery =
props.containsKey(PROP_POOL_PING_QUERY)
prop_pool_ping_query
: "NO PING QUERY SET";

poolPingConnectionsOlderThan =
props.containsKey(PROP_POOL_PING_CONN_OLDER_THAN)
Integer.parseInt((String) props.get(PROP_POOL_PING_CONN_OLDER_THAN))
: 0;

poolPingConnectionsNotUsedFor =
props.containsKey(PROP_POOL_PING_CONN_NOT_USED_FOR)
Integer.parseInt((String) props.get(PROP_POOL_PING_CONN_NOT_USED_FOR))
: 0;

jdbcDefaultAutoCommit =
props.containsKey(PROP_JDBC_DEFAULT_AUTOCOMMIT)
&& Boolean.valueOf((String) props.get(PROP_JDBC_DEFAULT_AUTOCOMMIT)).booleanValue();
...
}

DBCP
相关类 com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory
/**
* DataSourceFactory implementation for DBCP
*/
public class DbcpDataSourceFactory implements DataSourceFactory {

private DataSource dataSource;

public void initialize(Map map) {
DbcpConfiguration dbcp = new DbcpConfiguration(map);
dataSource = dbcp.getDataSource();
}

public DataSource getDataSource() {
return dataSource;
}

}

相关类 com.ibatis.common.jdbc.DbcpConfigurationDataSource
/* REQUIRED PROPERTIES
* -------------------
* JDBC.Driver
* JDBC.ConnectionURL
* JDBC.Username
* JDBC.Password
*


* Pool.ValidationQuery
* Pool.MaximumActiveConnections
* Pool.MaximumIdleConnections
* Pool.MaximumWait
*/
private BasicDataSource legacyDbcpConfiguration(Map map) {
BasicDataSource basicDataSource