數據庫鏈接池C3P0學習

http://haoran-10.iteye.com/blog/1753332java

配置文件放置:mysql

Overriding c3p0 defaults via c3p0-config.xml

You can use the XML config file for all c3p0 configuration, including configuration of defaults, named configurations, per-user overrides, and configuration extensions.sql

By default, c3p0 will look for an XML configuration file in its classloader's resource path under the name "/c3p0-config.xml". That means the XML file should be placed in a directly or jar file directly named in your applications CLASSPATH, in WEB-INF/classes, or some similar location.oracle

If you prefer not to bundle your configuration with your code, you can specify an ordinary filesystem location for c3p0's configuration file via the system property com.mchange.v2.c3p0.cfg.xml. (You can also use this property to specify an alternative location in the ClassLoader resource path, e.g. META-INF. See Locating Configuration Information.)app

Here is an example c3p0-config.xml file:ide

<c3p0-config>
<default-config>   

    <property name="user">xxx</property>

    <property name="password">xxxxx</property>

    <property name="driverClass">oracle.jdbc.OracleDriver</property>

    <property name="jdbcUrl">jdbc:oracle:thin:@127.0.0.1:1533:xxdb</property>
    
    <property name="initialPoolSize">10</property>

    <property name="maxIdleTime">30</property>

    <property name="maxPoolSize">100</property>

    <property name="minPoolSize">10</property>

  </default-config>

  <named-config name="mySource">

    <property name="user">root</property>

    <property name="password">java</property>

    <property name="driverClass">com.mysql.jdbc.Driver</property>

    <property name="jdbcUrl">jdbc:mysql://localhost:3306/jdbc</property>

    <property name="initialPoolSize">10</property>

    <property name="maxIdleTime">30</property>

    <property name="maxPoolSize">100</property>

    <property name="minPoolSize">10</property>

  </named-config>
  </c3p0-config>

 DataSource ds 的使用方法以下,默認根據啓動配置裏面可使用的鏈接池數目,超過配置的poolsize後,ds.getConnection()方法將等待,有釋放的connection。this

static DataSource ds=null;	
public static Connection getOracleConnection() {
		Connection connection=null;
		if(ds==null){
		ds=new ComboPooledDataSource();
	    }
	    try {
	    	connection=ds.getConnection();
		} 
	    catch (SQLException e) {
			e.printStackTrace();
		}
	    return connection;

	}

 

參考http://www.mchange.com/projects/c3p0/#basic_pool_configurationspa

相關文章
相關標籤/搜索