在tomcat与jboss中配置c3p0连接池


Appendix D: Configuring c3p0 DataSources in TomcatGo To Top

You can easily configure Apache's Tomcat web application server to use c3p0 pooled DataSources. Below is a Tomcat 5.0 sample config to get you started. It's a fragment of Tomcat's conf/server.xml file, which should be modified to suit and placed inside a <Context> element.


<Resource name="jdbc/pooledDS" auth="Container" type="com.mchange.v2.c3p0.ComboPooledDataSource" /> <ResourceParams name="jdbc/pooledDS"> <parameter> <name>factory</name> <value>org.apache.naming.factory.BeanFactory</value> </parameter> <parameter> <name>driverClass</name> <value>org.postgresql.Driver</value> </parameter> <parameter> <name>jdbcUrl</name> <value>jdbc:postgresql://localhost/c3p0-test</value> </parameter> <parameter> <name>user</name> <value>swaldman</value> </parameter> <parameter> <name>password</name> <value>test</value> </parameter> <parameter> <name>minPoolSize</name> <value>5</value> </parameter> <parameter> <name>maxPoolSize</name> <value>15</value> </parameter> <parameter> <name>acquireIncrement</name> <value>5</value> </parameter> </ResourceParams>

For Tomcat 5.5, try something like the following (thanks to Carl F. Hall for the sample!):


<Resource auth="Container" description="DB Connection" driverClass="com.mysql.jdbc.Driver" maxPoolSize="4" minPoolSize="2" acquireIncrement="1" name="jdbc/TestDB" user="test" password="ready2go" factory="org.apache.naming.factory.BeanFactory" type="com.mchange.v2.c3p0.ComboPooledDataSource" jdbcUrl="jdbc:mysql://localhost:3306/test?autoReconnect=true" />

The rest is standard J2EE stuff: You'll need to declare your DataSource reference in your web.xml file:

<resource-ref> <res-ref-name>jdbc/pooledDS</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>

And you can access your DataSource from code within your web application like this:

InitialContext ic = new InitialContext(); DataSource ds = (DataSource) ic.lookup("java:comp/env/jdbc/pooledDS");

That's it!


拷贝jdbc.jar和c3p0.jar到defaul/lib/下

Appendix E: JBoss-specific notesGo To Top

To use c3p0 with JBoss:

  1. Place c3p0's jar file in the lib directory of your jboss server instance (e.g. ${JBOSS_HOME}/server/default/lib)
  2. Modify the file below, and save it as c3p0-service.xml in the deploy directory of your jboss server (e.g. ${JBOSS_HOME}/server/default/deploy). Note that parameters must be capitalized in this file, but otherwise they are defined as described above.

Please note: As of c3p0-0.9.1, the class name of the jboss configuration mbean has changed to com.mchange.v2.c3p0.jboss.C3P0PooledDataSource (from com.mchange.v2.c3p0.mbean.C3P0PooledDataSource), in order to distinguish what is really jboss-specific functionality from c3p0's more general JMX support.

The old jboss config mbeans are deprecated, but will still work. However, support for new configuration parameters will only be added under the new name. Updating requires a one-word change to your c3p0-service.xml, change "mbean" to "jboss" where your old file says 'code="com.mchange.v2.c3p0.mbean.C3P0PooledDataSource"'. Just do it!

Hide box.以下是0.9.2配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE server>

<server>

   <mbean code="com.mchange.v2.c3p0.mbean.C3P0PooledDataSource"
          name="jboss:service=C3P0PooledDataSource">
     
      <attribute name="JndiName">java:PooledDS</attribute>
      <attribute name="JdbcUrl">jdbc:oracle:thin:@218.85.135.184:1522:BTS</attribute>
      <attribute name="DriverClass">oracle.jdbc.driver.OracleDriver</attribute>
      <attribute name="User">best_bts</attribute>
      <attribute name="Password">best_bts</attribute>

      <!-- Uncomment and set any of the optional parameters below -->
      <!-- See c3p0's docs for more info.                         -->

      <!-- <attribute name="AcquireIncrement">3</attribute>                     -->
      <!-- <attribute name="AcquireRetryAttempts">30</attribute>                -->
      <!-- <attribute name="AcquireRetryDelay">1000</attribute>                 -->
      <!-- <attribute name="AutoCommitOnClose">false</attribute>                -->
      <!-- <attribute name="AutomaticTestTable"></attribute>                    -->
      <!-- <attribute name="BreakAfterAcquireFailure">false</attribute>         -->
      <!-- <attribute name="CheckoutTimeout">0</attribute>                      -->
      <!-- <attribute name="ConnectionTesterClassName">0</attribute>            -->
      <!-- <attribute name="Description">A pooled c3p0 DataSource</attribute>   -->
      <!-- <attribute name="FactoryClassLocation"></attribute>                  -->
      <!-- <attribute name="ForceIgnoreUnresolvedTransactions">true</attribute> -->
      <!-- <attribute name="IdleConnectionTestPeriod">-1</attribute>            -->
      <!-- <attribute name="InitialPoolSize">3</attribute>                      -->
      <!-- <attribute name="MaxIdleTime">0</attribute>                          -->
      <!-- <attribute name="MaxPoolSize">15</attribute>                         -->
      <!-- <attribute name="MaxStatements">0</attribute>                        -->
      <!-- <attribute name="MaxStatementsPerConnection">0</attribute>           -->
      <!-- <attribute name="MinPoolSize">0</attribute>                          -->
      <!-- <attribute name="NumHelperThreads">3</attribute>                     -->
      <!-- <attribute name="PreferredTestQuery"></attribute>                    -->
      <!-- <attribute name="TestConnectionOnCheckin">false</attribute>          -->
      <!-- <attribute name="TestConnectionOnCheckout">false</attribute>         -->
      <!-- <attribute name="UsesTraditionalReflectiveProxies">false</attribute> -->


      <depends>jboss:service=Naming</depends>
   </mbean>

</server>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值