最近完成了一个小项目,本来是用mysql数据库的,但客户要求要用oracle,没办法只能重新做了。
原先在mysql项目中使用的数据源是c3p0,没有出现什么问题,但移植到oracle就存在有时会连接不上数据库,总是报流已关闭的错误,改了参数了不行,不知道是不是驱动的问题.最后决定用proxool试一下.目前还没发现什么问题
下载:Proxool ,http://sourceforge.net/projects/proxool ,我下的是proxool-0.9.1版本.
下面是我的配置:
1.在hibernate平级目录下创建Proxool.xml
<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
<proxool>
<alias>DBPool</alias>
<driver-url>jdbc:oracle:thin:@192.168.1.100:1521:ORCL</driver-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<driver-properties>
<property name="user" value="scott"/>
<property name="password" value="tiger"/>
</driver-properties>
<house-keeping-test-sql>select sysdate from dual</house-keeping-test-sql>
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<maximum-new-connections>20</maximum-new-connections>
<prototype-count>5</prototype-count>
<maximum-connection-count>100</maximum-connection-count>
<minimum-connection-count>10</minimum-connection-count>
</proxool>
</something-else-entirely>
说明: 最好不要在代码上作注释,听说会有问题,但没遇过。
<alias>: 给连接池取一个别名,在hibernate配置文件中将引用这个别名。
<house-keeping-test-sql>: 如果发现了空闲的数据库连接.house keeper 将会用这个语句来测试.这个语句最好非常快的被执行.如果没有定义,测试过程将会被忽略。 如果是mysql 可以用select CURRENT_DAT作为查询语句.
<house-keeping-sleep-time>:house keeper 保留线程处于睡眠状态的最长时间,house keeper 的职责就是检查各个连接的状态,并判断是否需要销毁或者创建,这个的默认值是30秒。
<maximum-connection-count>:大的数据库连接数。
<maximum-new-connections>:因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受。
<prototype-count>: 最少保持的空闲连接数。
2.hibernate.cfg.xml中的配置
<?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="myeclipse.connection.profile">oracle5</property>
<property name="connection.driver_class">
oracle.jdbc.driver.OracleDriver
</property>
<property name="connection.url">
jdbc:oracle:thin:@192.168.1.100:1521:ORCL
</property>
<property name="connection.username">scott</property>
<property name="connection.password">tiger</property>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="hibernate.connection.provider_class">
org.hibernate.connection.ProxoolConnectionProvider
</property>
<property name="hibernate.proxool.pool_alias">DBPool</property>
<property name="hibernate.proxool.xml">Proxool.xml</property>
<!-- 设置二级缓存插件EHCache的Provider类 -->
<property name="hibernate.cache.provider_class">
org.hibernate.cache.EhCacheProvider
</property>
<!-- 启用查询缓存 -->
<property name="hibernate.cache.use_query_cache">false</property>
<mapping resource="com/agency/ORM/Logs.hbm.xml" />
</session-factory>
</hibernate-configuration>
分享到:
相关推荐
标题中的“hibernate+proxool+Oracle库文件”揭示了这个压缩包包含的是一个集成Hibernate ORM框架、Proxool...在实际开发中,还需要根据项目需求配置相应的Hibernate和Proxool的配置文件,以及Oracle数据库的相关设置。
标题中的“hibernate3+ proxool-0.9.1配置”涉及到的是在Java开发中,使用Hibernate3 ORM框架与Proxool连接池的整合配置。Hibernate3是一款流行的持久层框架,它允许开发者用面向对象的方式来操作数据库,而Proxool...
《Spring3+Hibernate3+Proxool+jstl+Oracle整合详解》 在现代Java Web开发中,集成各种框架以实现高效、灵活的应用程序已成为常态。本示例代码结合了Spring 3.0.4、Hibernate 3.5.0、Proxool 0.9.1、jstl,并利用...
开发者需要熟悉Hibernate的API和配置,理解Proxool的工作原理,以及Oracle 10g 2的特性,以便顺利完成集成并确保系统的稳定运行。 通过博客链接(虽然此处未给出实际链接),可以获取更详细的实现过程、遇到的问题...
在上述配置中,我们通过`hibernate.proxool.properties`指定了Proxool的配置文件路径,`hibernate.proxool.pool_alias`设置了连接池的别名,这个别名需要与Proxool配置文件中的alias一致。 接下来,我们需要创建...
proxool-0.9.1(my).jar 包是我修改了proxool-0.9.1后的jar包,修改后可以完全支持spring配置,并添加了charSet配置属性,用于配置数据库链接的设置默认字符集,并且解决了proxool数据库连接池报如下错误的问题:...
3. Proxool配置:除了在Hibernate配置文件中设置基本的数据库连接信息,我们还可以在Proxool的配置文件(如proxool.xml)中设置更详细的连接池参数,比如最大连接数、最小空闲连接数、超时时间等,以优化连接池性能...
综上所述,这个"Hibernate dbpool proxool例子和jar包"提供的内容应该包含了如何在Hibernate项目中配置和使用Proxool连接池的示例代码以及所需的jar包,对于学习和实践Hibernate与Proxool的结合使用非常有帮助。...
总之,基于SSH的Proxool连接池配置涉及到Spring、Hibernate和Proxool之间的协作,通过这种方式,我们可以有效地管理和优化数据库连接,提高应用程序的性能和稳定性。在实际开发中,需要根据项目需求调整配置参数,以...
Extjs3.2+struts2.0+spring2.5+hibernate3.5+weblogic10+oracle10g 第4部分
proxool_cofig.xml为连接池配置 此项目可做基础项目开发原型方便,启动此项目在weblogic10中会有antlr-2.7.6rc1.jar此包的异常请配置其先加载并将次包考入 bea\wlserver_10.0\server\lib目录下,再将bea\user_projects...
- **灵活性**:Hibernate 提供了更灵活的配置选项和更多的扩展点,而 JPA 更注重规范性和标准化。 - **API 设计**:Hibernate 的 API 更加丰富,包含了 JPA 规范之外的功能,如 HQL(Hibernate Query Language)、...
为了使用 Proxool 连接池,我们需要在 Hibernate 配置文件(hibernate.cfg.xml)中添加以下配置: ``` <property name="hibernate.proxool.xml">proxool-conf.xml ``` 然后,我们需要创建一个 Proxool 配置文件...
5. **适应性强**:Proxool支持多种数据库,包括Oracle、MySQL、SQL Server等,只需配置相应的JDBC驱动即可。 在Hibernate中集成Proxool,通常需要以下步骤: 1. **添加依赖**:将`Proxool.jar`和Hibernate所需的...
在实际应用中,集成proxool到Hibernate项目中,开发者需要在Hibernate配置文件(通常为`hibernate.cfg.xml`)中添加proxool的相关配置,例如设置最大连接数、超时时间等参数。然后,通过`orgproxool.hibernate....
- `dialect`配置数据库方言,这里为Oracle9的方言,确保Hibernate能正确处理Oracle特定的SQL语法。 - `connection.*`属性用于设置数据库连接信息,包括驱动类、用户名、密码和URL。 - 接下来是C3P0连接池的具体...
Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP。在配置连接池时需要注意的有三点: 一、Apche的DBCP在Hibernate2中受支持,但在Hibernate3中已经不再推荐使用,官方的解释是这个连接池存在...
4. **配置示例**:例如XML配置文件,展示如何配置Proxool连接池。 5. **测试用例**:JUnit或其他测试框架的测试类,用于验证代码功能。 解压并编译这个源代码包后,开发人员可以进一步研究Proxool的内部工作机制,...
博文链接:https://pantao.iteye.com/blog/142280
Hibernate利用它来处理XML配置文件和映射文档。 10. **cglib-2.2.jar**:Code Generation Library(CGLIB)是一个代码生成库,用于创建Java字节码,常用于实现动态代理和类的继承,Hibernate使用它来为无接口的类...