`

[转贴] JPA+Hibernate的两种种连接池设置C3P0、Proxool

 
阅读更多

JPA+Hibernate的两种种连接池设置C3P0、Proxool

一、Proxool的配置

1、配置persistence.xml文件

[xhtml] view plaincopy

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="crmPersistenceUnit" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>

<!-- hibernate的proxool连接池配置(需要jar包:proxool.jar) -->
<property name="hibernate.connection.provider_class" value="org.hibernate.connection.ProxoolConnectionProvider"/>
<property name="hibernate.proxool.pool_alias" value="OraclePool"/>
<property name="hibernate.proxool.xml" value="proxool.xml"/>

</properties>
</persistence-unit>
</persistence>



2、在src目录下新增proxool.xml文件,文件配置如下

[xhtml] view plaincopy

<?xml version="1.0" encoding="utf-8"?>
<something-else-entirely>
<proxool>
<alias>OraclePool</alias>
<!--proxool只能管理由自己产生的连接-->
<driver-url>jdbc:oracle:thin:@localhost:1521:crm</driver-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<driver-properties>
<property name="user" value="crm" />
<property name="password" value="crm123" />
</driver-properties>
<!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁-->
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<!-- 最少保持的空闲连接数-->
<prototype-count>5</prototype-count>
<!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定-->
<maximum-connection-count>100</maximum-connection-count>
<!-- 最小连接数-->
<minimum-connection-count>10</minimum-connection-count>
</proxool>
</something-else-entirely>



3、注意proxool.xml中不要加注释,否则会报错



二、C3P0连接池配置

1、配置persistence.xml文件

[xhtml] view plaincopy

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="tssPersistenceUnit" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>

<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/jiaoyou"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.username" value="ganbin"/>
<property name="hibernate.connection.password" value="tarena#2010"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>

<!-- hibernate的c3p0连接池配置(需要jar包:c3p0-0.9.0.4.jar) -->

<property name="hibernate.connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProvider"/>
<!-- 最小连接数 -->
<property name="c3p0.min_size" value="5"/>
<!-- 最大连接数 -->
<property name="c3p0.max_size" value="30"/>
<!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
<property name="c3p0.maxIdleTime" value="60"/>
<!-- 获得连接的超时时间,如果超过这个时间,会抛出异常,单位毫秒 -->
<property name="c3p0.timeout" value="1800"/>
<!-- 最大的PreparedStatement的数量 -->
<property name="c3p0.max_statements" value="50"/>
<!-- 每隔120秒检查连接池里的空闲连接 ,单位是秒-->
<property name="c3p0.idle_test_period" value="120"/>
<!-- 当连接池里面的连接用完的时候,C3P0一下获取的新的连接数 -->
<property name="c3p0.acquire_increment" value="1"/>
<!-- 是否每次都验证连接是否可用 -->
<property name="c3p0.validate" value="false"/>

</properties>
</persistence-unit>
</persistence>



两种连接池都需要对应的jar包:proxool.jar和c3p0.jar可以在网上找到

-- from http://blog.csdn.net/fire_eclipse/article/details/5624938

分享到:
评论

相关推荐

    spring+springMVC+jpa+hibernate框架整合

    在IT领域,构建高效、可扩展的Web应用是至关重要的,而"spring+springMVC+jpa+hibernate框架整合"就是一个常见的解决方案。这个整合涉及到四个关键的技术栈:Spring框架、SpringMVC、JPA(Java Persistence API)...

    手动创建 SpringMvc +SpringDataJpa+Hibernate+ freemarker mavenProject+ 环境切换 webDemo

    在本项目中,我们主要探讨如何手动构建一个基于SpringMVC、Spring Data JPA、Hibernate以及FreeMarker模板引擎的Maven工程,同时实现环境切换功能。这个基础框架为日常开发工作提供了必要的支持。 首先,SpringMVC...

    jpa+HIBERNATE的一个简单例子

    **JPA(Java Persistence API)和Hibernate是两个在Java编程中用于对象关系映射(ORM)的重要工具。本文将深入探讨这两个技术,并通过一个简单的示例来阐述它们如何协同工作。** **一、JPA简介** Java Persistence ...

    用maven构建SpringMVC+JPA+Hibernate+Hsql+jetty的web项目

    【标题】"用maven构建SpringMVC+JPA+Hibernate+Hsql+jetty的web项目"涉及了多个核心的Java Web开发技术,这里我们将深入探讨这些技术以及如何将它们整合到一起。 1. Maven:Maven是Apache的一个开源项目,它是一个...

    SpringMVC+Spring+SpringDataJPA+Hibernate整合登录的效果

    这是整合SpringMVC+Spring+SpringDataJPA+Hibernate简单的实现登录的功能,用的是mysql数据库,这是一个web Project 如果你用的是JavaEE6那么你要注意bean-validator.jar和weld-osgi-bundle.jar与slf4j的jar包冲突。...

    搭建一个JPA+hibernate实例

    在Java世界中,Java Persistence API(JPA)和Hibernate是两个非常重要的持久层框架,用于管理应用程序中的对象-关系映射(ORM)。JPA是一种标准的API,而Hibernate是其最流行的实现之一。本教程将指导你如何搭建一...

    演示EJB3.0 + JPA + MySQL5.0 + C3P0连接池技术实战编程(Top-Down的XP开发方式)

    环境:Windows Professional XP, JDK 1.6, Ant 1.7, jboss-4.2.1.GA, MySQL 5.0, 连接池C3P0. 使用步骤: 1. 下载之后先运行ant hibernatetool命令 2. 如果构建成功,那么运行ant compress命令 3. 把在lib目录下...

    spring3+springmvc+jpa+hibernate多数据源

    "spring3+springmvc+jpa+hibernate多数据源"是一个示例项目,它演示了如何在一个应用中集成Spring 3、Spring MVC、JPA 2.0以及Hibernate,以实现对多个数据源的支持。下面将详细介绍这些技术及其集成的关键点。 **...

    jpa + hibernate 例子

    8. **配置(Configuration)**: Hibernate需要一些配置信息,如数据库连接参数、实体扫描路径等。这些信息通常在`persistence.xml`文件中定义,或者在Spring等框架中通过Java配置类来设置。 在提供的压缩包文件`jpa...

    基于Flex4.X+BlazeDS+Spring3+JPA+Hibernate+MySQL实战开发在线书店

    Flex 是一个高效、免费的开源框架,可用于构建具有表现力的 Web应用程序,这些应用... 本课程主要是讲解Flex 4.6和ActionScript 3.0使用方法和技巧,并结合BlazDS/Spring /JPA/Hibernate等技术实现在线书店的开发过程。

    Spring+Jersey+JPA+Hibernate+MySQL整合

    在Spring+Jersey+JPA+Hibernate的组合中,Hibernate作为JPA的具体实现,负责与MySQL数据库之间的交互。 MySQL是一种广泛使用的开源关系型数据库管理系统,因其高性能、可靠性和易于管理而在Web应用中受到青睐。在这...

    Spring + JPA + Hibernate配置

    同时,还需要配置Hibernate的相关属性,比如连接池、方言等。此外,可能还需要编写DAO接口和实现类,使用JPA或Hibernate的API进行数据操作。 通过这篇博文链接(虽然此处未给出实际链接),开发者可以学习到如何将...

    maven+springjpa+hibernate

    2. **配置Spring Boot**:如果使用Spring Boot,配置文件`application.properties`或`application.yml`中需设置数据源和JPA属性,例如数据库连接信息、Hibernate配置等。 3. **创建实体类**:定义Java类作为数据...

    Spring+SpringMVC+SpringDataJPA+Hibernate

    在本文中,我们将深入探讨"Spring+SpringMVC+SpringDataJPA+Hibernate"这个集成框架,这是一个在Java开发中广泛使用的强大组合,用于构建高效、可扩展的企业级应用程序。 首先,Spring是一个全面的Java应用框架,它...

    springdata JPA+spingMVC+hibernate + angular5

    本资源后台使用Java,前端使用angular5,后台是springdata JPA+springmvc+hibernate写的一个小例子,数据库表自动生成,注意修改MySQL 配置及angular地址访问路径

    spring+hibernate+JPA+BoneCP

    此项目是spring+hibernate+JPA+BoneCP的大整合。所用的技术比较多,如Spring的IOC,AOP,Transactiion,Annotation,Spring_JUnit_Test及Log4j;Hibernate的JPA Annotation;BoneCP的数据库连接测等。是很好的学习资料...

    spring3+springmvc+jpa+hibernate

    Spring3、SpringMVC、JPA(Java Persistence API)和Hibernate是Java开发中常见的四大框架,它们在企业级应用开发中扮演着至关重要的角色。这个项目集成了这些框架,为开发者提供了一个快速搭建Web应用程序的基础...

    Spring+Hibernate+Jpa+Struts2整合实例

    `c3p0-0.9.1.2.jar`和` cglib-nodep-2.1_3.jar`分别是数据库连接池和代码生成库,提升性能和数据库资源管理。 6. **配置与整合**:整合这些框架通常涉及编写XML配置文件(如Spring的`beans.xml`,Struts2的`struts....

    maven+springmvc+springjpa+hibernate

    在IT行业中,构建高效、可维护的Web应用是至关重要的,而"Maven+SpringMVC+SpringJPA+Hibernate"的组合就是一个常见的解决方案。这个组合提供了全面的开发工具和技术,帮助开发者快速构建基于Java的Web应用程序。...

Global site tag (gtag.js) - Google Analytics