0 0

proxool的奇怪问题10

开始的时候是用c3p0的,不过后来发现数据库去到很大的时候就整天出现死锁,所以想改用proxool。配置如下
<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
<proxool>
<alias>proxoolPool</alias>
<driver-url>jdbc:oracle:thin:@192.168.10.51:1521:wichina</driver-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<driver-properties>
<property name="user" value="mlog"/>
<property name="password" value="mlog"/>
</driver-properties>
<house-keeping-test-sql>select SysDate FROM DUAL</house-keeping-test-sql>
<simultaneous-build-throttle>200</simultaneous-build-throttle>
<maximum-connection-lifetime>3600000</maximum-connection-lifetime>
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<prototype-count>5</prototype-count>
<maximum-connection-count>30</maximum-connection-count>
<minimum-connection-count>2</minimum-connection-count>
</proxool>
</something-else-entirely>
hibernate的配置
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="proxool.pool_alias">proxoolPool</property>
<property name="proxool.xml">proxool.xml</property>
<property name="connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
开始测试的时候是用jmeter并发300个访问的同一个连接的,没什么问题,也没出现死锁。

然后第二次测试是并发100个访问,访问同一个页面但是分页的页数分别是1到100。马上就返回一堆500的错误。查看日志发现是proxool报:
Caused by: java.sql.SQLException: Couldn't get connection because we are at maximum connection count (30/30) and there are none available
at org.logicalcobwebs.proxool.Prototyper.quickRefuse(Prototyper.java:309)
at org.logicalcobwebs.proxool.ConnectionPool.getConnection(ConnectionPool.java:158)
at org.logicalcobwebs.proxool.ProxoolDriver.connect(ProxoolDriver.java:89)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:193)
at org.hibernate.connection.ProxoolConnectionProvider.getConnection(Unknown Source)

然后看proxool的管理界面30个连接已经满了,拒绝了很多获取连接的请求。
我用的是proxool-0.9.0RC3.jar,hibernate3.0。resin3.0
并且用了filter在每个页面访问的时间创建session。最后由filter把session关闭。
并发访问的页面只是查询一个列表然后分页显示也没做其他的操作,分页是采用hibernate自带的分页操作。

想问问大家有没有遇到过这种情况,怎么处理呢?我不能说并发有500就把连接池的最大连接数改成500。原来用c3p0也没有这个问题的,就是并发访问去到200的时候会报死锁。
2008年7月14日 09:46
目前还没有答案

相关推荐

    proxool-0.9.1.jar,proxool-cglib.jar

    标题中的"proxool-0.9.1.jar"和"proxool-cglib.jar"是两个重要的Java档案文件,它们是Proxool项目的组件。Proxool是一个开源的数据库连接池解决方案,它允许开发者在Java应用程序中高效地管理数据库连接。数据库连接...

    proxool 的使用 配置

    这有助于我们更好地理解其工作流程,从而在遇到问题时能够迅速定位并解决。 "工具" 标签则意味着 Proxool 是一个实用的开发工具,可以集成到任何 Java 应用中,简化数据库连接的管理。Proxool 提供了一些监控和诊断...

    proxool

    proxool数据库连接池

    proxool配置参数说明及proxool-0.9.1相关jar包及spring配置方法

    **Proxool配置参数说明** Proxool是一个开源的数据库连接池实现,它提供了一种灵活的方式来管理和控制数据库连接。在使用Proxool时,理解其配置参数是至关重要的,这些参数可以调整连接池的行为,以适应不同应用...

    hibernate3+ proxool-0.9.1配置 和proxool-0.9.1.jar

    标题中的“hibernate3+ proxool-0.9.1配置”涉及到的是在Java开发中,使用Hibernate3 ORM框架与Proxool连接池的整合配置。Hibernate3是一款流行的持久层框架,它允许开发者用面向对象的方式来操作数据库,而Proxool...

    oracle proxool jar jdbc jar包 proxool源码包 Java oracle proxool 实例

    Oracle Proxool是一款开源的数据库连接池,它提供了一种高效、灵活的方式来管理数据库连接,以提高Java应用程序的性能和可扩展性。在Java应用程序中,数据库连接的创建和关闭是一个耗时的操作,通过使用连接池,我们...

    proxool CharConversionException问题的解决

    修改后的包 博文链接:https://laowang.iteye.com/blog/183023

    proxool-0.9.1.zip

    6. **线程安全**:确保在多线程环境中正确管理数据库连接,避免并发问题。 在使用Proxool时,开发者需要配置XML文件(如proxool.properties)来设置连接池的参数,例如数据库URL、用户名、密码、最大连接数、最小...

    java项目使用 proxool

    Java项目中的Proxool是一个连接池管理框架,它允许开发者高效地管理数据库连接,从而提高应用程序的性能和可伸缩性。在非Web环境中使用Proxool,意味着我们需要在独立的Java应用程序中集成这个库来处理数据库连接。...

    proxool连接池用户名密码加密

    Proxool是一个开源的、轻量级的Java数据库连接池实现,它提供了一种高效、灵活的方式来管理数据库连接。在某些场景下,为了保护敏感信息,如数据库的用户名和密码,我们需要对这些数据进行加密处理。"proxool连接池...

    proxool与mybatis整合例子

    本文将深入探讨如何将`Proxool`数据库连接池与`Mybatis`持久层框架进行整合,无需依赖`Spring`框架。我们将讨论配置过程、核心概念以及整合的步骤。 首先,让我们了解`Proxool`。Proxool是基于Apache 2.0协议的一个...

    spring+proxool配置spring+proxool配置

    而Proxool是Oracle公司开源的一个数据库连接池组件,它提供了高效的数据库连接管理,有助于减少数据库资源的消耗,提高系统性能。本篇文章将深入探讨如何在Spring框架中配置和使用Proxool。 首先,我们需要了解...

    spring proxool配置资料

    7. **监控与日志**:Proxool提供了监控和日志功能,可以通过配置相应的属性来开启,帮助开发者了解连接池的使用情况,及时发现和解决问题。 通过以上配置,我们就可以在Spring应用中顺利使用Proxool作为数据库连接...

    proxool相关jar包.rar

    标题 "proxool相关jar包.rar" 提供的信息表明,这个压缩包包含的是与Proxool相关的Java类库,主要用于数据库连接池管理。Proxool是一个开源的、基于Apache 2.0许可证的JDBC连接池实现,它为Java应用程序提供了一个...

    Proxool-数据源配置详解

    **Proxool 数据源配置详解** Proxool是一款开源的Java数据库连接池,它提供了一种灵活、高效的方式来管理数据库连接。在Java应用程序中,数据源(DataSource)是用于管理和控制数据库连接的关键组件,它能有效地...

    proxool相关jar包

    总的来说,Proxool是Spring应用中优化DB2数据库连接的重要组件,通过合理配置和使用,可以提升应用在处理大量并发请求时的性能和响应速度,同时还能有效避免资源耗尽的问题。在实际项目中,我们需要根据应用的需求和...

    proxool数据库连接池实例(带监控功能)

    总的来说,Proxool作为一款优秀的数据库连接池,不仅提供了高效的连接管理,还内置了强大的监控功能,帮助开发者优化数据库访问性能,及时发现和解决问题。通过`testProxool`实例,我们可以更好地理解和运用Proxool...

    Hibernate Proxool连接池配置总结及常遇问题

    本文将深入探讨Hibernate与Proxool连接池的配置,以及在配置过程中可能遇到的问题。 **1. Proxool简介** Proxool是一个开源的数据库连接池实现,它提供了动态、可扩展的连接池管理服务。通过Proxool,开发者可以...

Global site tag (gtag.js) - Google Analytics