首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 认证考试 > JAVA认证 >

C3P0连接池详细配置与实现(2)

2008-12-21 
C3P0连接池
 

    <property name="usesTraditionalReflectiveProxies">false</property>
  <property name="automaticTestTable">con_test</property>
  <property name="checkoutTimeout">30000</property>
  <property name="idleConnectionTestPeriod">30</property>
  <property name="initialPoolSize">10</property>
  <property name="maxIdleTime">30</property>
  <property name="maxPoolSize">25</property>
  <property name="minPoolSize">10</property>
  <property name="maxStatements">0</property>
  <user-overrides user="swaldman">
  </user-overrides>
  </default-config>
  <named-config name="dumbTestConfig">
  <property name="maxStatements">200</property>
  <user-overrides user="poop">
  <property name="maxStatements">300</property>
  </user-overrides>
  </named-config>
  </c3p0-config>
  c3p0的实现
  <!--
  全局使用c3p0
  1. server.xml中GlobalNamingResources
  2. context.xml中ResourceLink
  3. web.xml
  -->
  全局使用c3p0
  1. server.xml中GlobalNamingResources
  <Resource auth="Container"
  description="DB Connection"
  driverClass="org.gjt.mm.mysql.Driver"
  maxPoolSize="10"
  minPoolSize="2"
  acquireIncrement="2"
  name="jdbc/mysql1"
  user="root"
  password="xxxxxx"
  factory="org.apache.naming.factory.BeanFactory"
  type="com.mchange.v2.c3p0.ComboPooledDataSource"
  jdbcUrl="jdbc:mysql://localhost:3306/noticemanager?characterEncoding=UTF-8&amp;useUnicode=TRUE&amp;autoReconnect=true" />
  2. context.xml中ResourceLink
  <ResourceLink name="jdbc/mysql1" global="jdbc/mysql1" type="javax.sql.DataSource"/>
  3. web.xml
  <resource-ref>
  <description>Tomcat Datasource</description>
  <res-ref-name>jdbc/mysql1</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
  </resource-ref>
  4.Hibernate中的配置
  <?xml version='1.0' encoding='UTF-8'?>
  <!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
  <!-- Generated by MyEclipse Hibernate Tools. -->
  <hibernate-configuration>
  <session-factory>
  <property name="c3p0.min_size">5</property>
  <property name="c3p0.max_size">100</property>
  <property name="c3p0.time_out">1800</property>
  <property name="c3p0.max_statement">100</property>
  <property name="dialect">
  org.hibernate.dialect.MySQLDialect
  </property>
  <property name="jndi.url">
  jdbc:mysql://localhost:3306/noticemanager
  </property>
  <!-- <property name="jndi.class">
  org.gjt.mm.mysql.Driver
  </property> -->
  <property name="connection.datasource">
  java:comp/env/jdbc/mysql1
  </property>
  <property name="connection.username">root</property>
  <property name="connection.password">xxxxxxxxx</property>
  <property name="hibernate.show_sql">true</property>
  <!-- <property name="hibernate.use_outer_join">true</property> -->
  <mapping resource="com/dpoo/pojo/Notice.hbm.xml" />
  </session-factory>
  </hibernate-configuration>
  JDBC实现:与DateSource相同
  try {
  Context ctx = new InitialContext();
  ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql1");
  conn = ds.getConnection();
  } catch (NamingException e) {
  e.printStackTrace();
  return null;
  } catch (SQLException e) {
  e.printStackTrace();
  return null;
  }

 

3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/

热点排行