« | September 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | |
| 公告 |
戒除浮躁,读好书,交益友 |
Blog信息 |
blog名称:邢红瑞的blog 日志总数:523 评论数量:1142 留言数量:0 访问次数:9704993 建立时间:2004年12月20日 |

| |
[j2ee]C3P0连接池配置 文章收藏
邢红瑞 发表于 2006/5/11 18:14:33 |
1. 在hibernate.cfg.xml中直接配置C3P0连接池
<property name="c3p0.min_size">5</property><!--连接池的最小连接数-->
<property name="c3p0.max_size">20</property><!--最大连接数-->
<property name="c3p0.timeout">100</property><!--连接超时时间-->
<!每隔100秒检测连接是否可正常使用 -->
<property name="c3p0.idle_test_period">100</property>
<!--当池中的连接耗尽的时候,一次性增加的连接数量,默认为3-->
<property name="hibernate.c3p0.acquire_increment">3</property>
<!--statemnets缓存大小-->
<property name="c3p0.max_statements">150</property>
2.在Spring配置文件中配置C3P0连接池
<!--数据源配置 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<!--驱动类-->
<property name="driverClassName">
<value> oracle.jdbc.driver.OracleDriver</value>
</property>
<!--连接字符串-->
<property name="url">
<value> jdbc:oracle:thin:@210.51.173.22:1521:orcl</value>
</property>
</bean>
<!--数据库属性配置 -->
<bean
id="hibernateProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="properties">
<props>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop
key="hibernate.dialect"> org.hibernate.dialect.Oracle9Dialect
</prop>
<prop
key="hibernate.query.substitutions">true 'T', false 'F'</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.c3p0.minPoolSize">5</prop>
<prop key="hibernate.c3p0.maxPoolSize">20</prop>
<prop key="hibernate.c3p0.timeout">600</prop>
<prop key="hibernate.c3p0.max_statement">50</prop>
</property>
</bean>
<!--配置Hibernate的SessionFactory-->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource"/>
</property>
<property name="hibernateProperties">
<ref bean="hibernateProperties" />
</property>
<!-- 添加po映射文件 -->
<property name="mappingResources">
<list>
<value>Customer.hbm.xml</value>
<value>Account.hbm.xml</value>
</list>
</property>
</bean>
2. Tomcat 5.0.28中JNDI配置(c3p0配置)
例如${tomcat_home}\webapps下有abc工程,对abc工程的JNDI配置如下:
第一步在${tomcat_houme}\conf\Catalina\localhost下建立和工程名对应的abc.xml文件。
abc.xml内容如下
<Context displayName="Tomcat Administration Application" docBase="${tomcat_home} /server/webapps/abc" path="/abc" privileged="true" workDir="work\Catalina\localhost\abc">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_admin_log." suffix=".txt" timestamp="true"/>
<Resource name="jdbc/mysql" auth="Container" type="com.mchange.v2.c3p0.ComboPooledDataSource" />
<ResourceParams name="jdbc/mysql"> <!--JNDI名字-->
<parameter>
<name>factory</name>
<value>org.apache.naming.factory.BeanFactory</value>
</parameter>
<parameter>
<name>driverClass</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>jdbcUrl</name>
<value>jdbc:mysql://localhost/weblogin</value>
</parameter> <parameter>
<name>user</name>
<value>root</value>
</parameter>
<parameter>
<name>password</name>
<value>123</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>
</Context>
第二步,修改abc/WEB-INF/web.xml文件,添加JNDI引用
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
重启tomcat,完成。
|
|
回复:C3P0连接池配置 文章收藏
余国先(游客)发表评论于2008/3/23 9:19:58 |
|
» 1 »
|