`
litxuf
  • 浏览: 122498 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

tomcat 连接池配置整理 (JNDI C3P0)

 
阅读更多

   简单的归纳整理一下各种几种连接池的配置方式 以便查询

 

  系统配置:spring2 , tomcat6 ,hibernate3,mysql

  spring的版本比较低 各位看官不要笑话哦。

1.普通的JDBC连接方式

<bean id="dataSource"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName">
			<value>com.mysql.jdbc.Driver</value>
		</property>
		<property name="url">
			<value>
	       jdbc:mysql://localhost:3306/demo?useUnicode=true&amp;characterEncoding=UTF-8
			</value>
		</property>
		<property name="username">
			<value>root</value>
		</property>
		<property name="password">
			<value>000000</value>
		</property>
	</bean>

 

以上配置在JMeter 10个并发测试的时候 不用2分钟系统就挂掉了 此配置只建议开发使用 不要用在生成环境

 

2.JNDI

    2.1.修改tomcat conf/context.xml 或sever.xml 具体使用方式各有区别请在咨询百度或谷歌

    

<Resource
 name="jdbc/TEST_Data"
 auth="Container" type="javax.sql.DataSource"
 maxActive="100" 
 maxIdle="30" 
 maxWait="10000"
 username="root" 
 password="000000"
 driverClassName="com.mysql.jdbc.Driver"
 url="jdbc:mysql://localhost:3306/demo?useUnicode=true&amp;characterEncoding=UTF-8" />

 2.2.修改web.xml

    

         <!-- datasource -->
	<resource-ref>
		<description>TEST</description>
		<res-ref-name>jdbc/TEST_Data</res-ref-name>
		<res-type>javax.sql.DataSource</res-type>
		<res-auth>Container</res-auth>
	</resource-ref>

 2.3 修改spring配置文件

    

        <bean id="dataSource"  class="org.springframework.jndi.JndiObjectFactoryBean">
		<property name="jndiName">
			<value>java:comp/env/TEST_Data</value>
		</property>
	</bean>

 

 使用此配置方式请务必将mysql的驱动放在tomcat/lib下面 不然启动会报错

 

3.c3po配置方式 (来自其他博客 http://hi.baidu.com/liuzhe041/item/52e7a10d1bb501e9f45ba6c1)

 

  

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
		destroy-method="close">
		<property name="driverClass">
			<value>com.mysql.jdbc.Driver</value>
		</property>
		<property name="jdbcUrl">
			<value>jdbc:mysql://localhost:3306/demo?useUnicode=true&amp;characterEncoding=UTF-8
			</value>
		</property>
		<property name="user">
			<value>root</value>
		</property>
		<property name="password">
			<value>000000</value>
		</property>

		<!--连接池中保留的最小连接数。 -->
		<property name="minPoolSize">
			<value>5</value>
		</property>

		<!--连接池中保留的最大连接数。Default: 15 -->
		<property name="maxPoolSize">
			<value>30</value>
		</property>

		<!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->
		<property name="initialPoolSize">
			<value>10</value>
		</property>

		<!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
		<property name="maxIdleTime">
			<value>60</value>
		</property>

		<!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
		<property name="acquireIncrement">
			<value>5</value>
		</property>

		<!--JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements 属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。 
			如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0 -->
		<property name="maxStatements">
			<value>0</value>
		</property>

		<!--每60秒检查所有连接池中的空闲连接。Default: 0 -->
		<property name="idleConnectionTestPeriod">
			<value>60</value>
		</property>

		<!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->
		<property name="acquireRetryAttempts">
			<value>30</value>
		</property>

		<!--获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效 保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试 
			获取连接失败后该数据源将申明已断开并永久关闭。Default: false -->
		<property name="breakAfterAcquireFailure">
			<value>true</value>
		</property>

		<!--因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的 时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable 
			等方法来提升连接测试的性能。Default: false -->
		<property name="testConnectionOnCheckout">
			<value>false</value>
		</property>
	</bean>

 

  以上三种方式都经过本次测试 可以正常使用 请各位看官自行调优。  其他方式持续更新中

分享到:
评论

相关推荐

    tomcat6+jndi+c3p0配置数据库连接池

    本示例主要讲解如何在Tomcat6中结合JNDI(Java Naming and Directory Interface)和C3P0库来配置数据库连接池,这对于初学者理解Web应用服务器与数据库的交互方式具有很大帮助。 首先,C3P0是一个开源的JDBC连接池...

    tomcat连接池配置

    本文将深入探讨Tomcat连接池的配置,包括为什么要使用连接池、如何配置以及相关jar包和文档的使用。 一、连接池的概念 连接池是一种在应用程序启动时预创建一定数量的数据库连接,供多个线程共享使用的机制。当应用...

    Tomcat统一配置C3P0连接池

    【描述】中的XML配置片段展示了在Spring框架中配置一个通过JNDI查找的数据源,这正是Tomcat统一配置C3P0连接池的一个关键步骤。`&lt;bean id="dataSource2" class="org.springframework.jndi.JndiObjectFactoryBean"&gt;`...

    JAVA数据库连接池(C3P0,Druid,JNDI ,DBCP,Proxool,BoneCP)

    例如,Tomcat、JBoss等应用服务器都支持JNDI配置C3P0、DBCP等连接池。 4. DBCP(Database Connection Pool): DBCP是Apache Commons的一个项目,基于Jakarta-pool实现的数据库连接池。它简单易用,但相比于C3P0和...

    mysql+tomcat连接池配置

    在Tomcat中,常见的连接池实现有Apache的DBCP、C3P0、HikariCP等。这里我们以HikariCP为例,因为它是目前公认的性能最佳的连接池实现。 1. **下载与添加依赖** - 首先,你需要下载HikariCP的JAR文件。如果`java-...

    比c3p0还快的bonecp连接池配置方法讲解

    本文将详细介绍如何配置 BoneCP 连接池,以及对比C3P0的配置方法。 1. **BoneCP的基本概念与优势** - BoneCP 是一个开源的JDBC连接池实现,它通过高效的连接管理和复用来提高数据库操作的效率。 - 与C3P0相比,...

    tomcat连接池的配置与性能测试

    `Tomcat连接池`是Java应用服务器中用于管理数据库连接的一种机制,它的目的是提高...总的来说,理解和配置Tomcat连接池是Java Web开发中必不可少的技能,而性能测试则帮助我们确保应用在实际环境中能提供最佳的服务。

    c3p0数据库连接池

    - 相比于Tomcat JDBC Connection Pool,c3p0更适合小型项目,大型项目可能会倾向于选择更高效、更活跃维护的连接池。 7. **常见问题与解决方案** - 如果出现“Too many connections”错误,可能是因为`maxPool...

    tomcat连接池mysql多种配置

    2. 创建配置文件:在Tomcat的conf目录下创建c3p0.properties文件,设置连接池的相关参数,如初始连接数、最大连接数等。 3. 配置数据源:在web.xml中配置C3P0的数据源,包括数据库驱动、URL、用户名和密码等。 二、...

    tomcat数据源连接池配置

    在Tomcat中,我们通常使用内置的连接池实现,如Apache Commons DBCP或C3P0。 **配置步骤:** 1. **添加依赖库**:在`$CATALINA_HOME/lib`目录下,我们需要添加对应的jar包文件,这可能包括`commons-dbcp.jar`...

    c3p0连接数据库及jndi链接例子

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,尤其是在企业级应用中,数据库连接池是不可或缺的一部分,因为它可以有效地管理和复用数据库连接,从而...

    c3p0连接池

    c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0由Miquel Llopis创建,因其高效、稳定和易用的特点,被广泛应用于各种Java Web应用中。下面我们将深入探讨c3p0连接池...

    基于DBCP/c3p0/Tomcat的数据库连接池的demo

    本示例将详细介绍如何使用DBCP(Database Connection Pool)、c3p0以及Tomcat内置的数据源来实现数据库连接池的配置与使用。 **DBCP(Database Connection Pool)** DBCP是Apache软件基金会的Jakarta项目下的一个子...

    C3p0配置连接池及jar

    C3p0是一款开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,C3p0可以帮助我们管理数据库连接,提高数据库访问效率,减少系统资源的消耗。下面我们将详细探讨C3p0的...

    tomcat下的连接池配置

    【Tomcat连接池配置详解】 ...综上所述,Tomcat连接池配置涉及到JNDI、XML配置、应用代码等多个环节,正确配置可以显著提升应用的数据库访问性能和稳定性。理解并熟练掌握这些配置方法对于Java Web开发者来说至关重要。

    tomcat配置JNDI数据源

    【标题】:“Tomcat配置JNDI数据源” 【描述】:“在Tomcat服务器上配置JNDI...在实际开发中,还可以使用更高级的连接池实现,如C3P0、Apache DBCP2或HikariCP,它们提供了更多的性能优化选项和更好的连接管理功能。

    TOMCAT中数据库连接池的几种配置方法_TOMCAT中数据库连接池的几种配置方法_

    以上是TOMCAT中常见的三种数据库连接池配置方法,包括Apache Commons DBCP、C3P0以及Tomcat内置的JDBC Pool。每种方式都有其特点和适用场景,开发者应根据实际需求选择合适的连接池组件,并进行相应的配置。正确配置...

    tomcat下配置oracle的连接池

    在Tomcat中,我们通常使用Apache的DBCP(数据库连接池)或C3P0这样的第三方连接池实现。这里以常见的DBCP为例,配置步骤如下: 1. **添加依赖**: 首先,需要在项目的`pom.xml`文件中添加DBCP的依赖,或者将对应的...

Global site tag (gtag.js) - Google Analytics