问题标签 [c3p0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
11585 浏览

java - Hibernate DB 连接池程序 c3p0 有问题

自上一篇文章以来,是否进行了所有建议的更改,但这个问题仍然困扰着我。这是我得到的错误:

这是我的 hibernate.cfg.xml

和 c3p0.properties

0 投票
3 回答
13285 浏览

java - JPA(和/或休眠) - 如何设置连接和/或查询的超时阈值?

我试图弄清楚如何配置我的项目,以使 JPA 在配置的时间后超时并引发异常。有两种情况我希望发生这种情况:

  • 当 JPA 甚至无法连接到数据库时
  • 当 JPA 查询返回结果集的时间超过超时阈值时

我不确定这两种情况是否可以单独配置(每种情况不同的超时阈值),或者是否对两者都使用一个阈值。

我的项目目前设置如下:

  • 编码到 JPA 2.0 规范
  • 使用 Hibernate 3.5.6 作为 JPA 实现
  • 在 Hibernate 中使用 c3p0 连接池
  • 使用persistence.xml配置文件(仅在必要时使用 Hibernate 特定的属性值)
  • 使用任何特定于 Hibernate 的配置文件
0 投票
2 回答
29786 浏览

hibernate - persistence.xml 中 jpa 的 C3p0 连接池不起作用?

在尝试按照我能找到的所有示例配置 c3p0 之后,我仍然遇到 JDBC 超时。我正在使用 JPA、Hibernate、Tomcat、MySQL [AWS RDS]。这是persistence.xml的片段:

和错误日志:

0 投票
2 回答
4725 浏览

mysql - 调试大约 39 分钟后关闭的 MySQL 连接的最佳方法?

我有休眠 3.3、c3p0、MySql 5.1 和 Spring。我的服务调用中的 MySQL 连接在大约 39 分钟后一直关闭。我的服务调用的自然运行时间约为 5 小时。

我尝试更改各种 c3p0 配置等,以避免 39 分钟的上限。没运气。

是否有更直接、更系统的方法来记录或排除故障?即我可以找出连接被关闭的原因,以及由谁关闭,在哪一层?

更新:堆栈跟踪

0 投票
2 回答
26589 浏览

java - 如何监控 c3p0 连接

我在我的 JBoss 战争中使用 Hibernate,使用 c3p0 进行连接池,两者都在我的类路径中的 hibernate.cfg.xml 配置文件中配置

我已经看到 server.log 生成了包含有关连接池的有趣信息的行:

调试 [com.mchange.v2.resourcepool.BasicResourcePool] 跟踪 com.mchange.v2.resourcepool.BasicResourcePool@63f5e4b6 [托管:10,未使用:9,排除:0]

对于我的监控池(我正在使用 nagios),我想提供一个 JSP 来告知正在使用的连接数以及空闲的连接数,如日志文件所述。

我如何询问 c3p0 有多少托管和未使用的连接?

0 投票
1 回答
2488 浏览

mysql - Hibernate c3p0 配置参数在运行时不会受到影响

我正在使用c3p0-0.9.1.2.jarhibernate 3.2.1。以下是休眠配置。

但我认为 maxStatementsPerConnection、testConnectionOnCheckout 和 preferredTestQuery 等参数在运行时没有任何影响。我应该为这些参数做些什么吗?这是我在日志中得到的。

信息 2010-11-06 19:04:37,364 初始化 c3p0 池... com.mchange.v2.c3p0.PoolBackedDataSource@e2da87d1 [connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@412cca1a [acquireIncrement -> 2,acquireRetryAttempts -> 30,acquireRetryDelay -> 1000,autoCommitOnClose -> false,automaticTestTable -> null,breakAfterAcquireFailure -> false,checkoutTimeout -> 0,connectionCustomizerClassName -> null,connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester,debugUnreturnedConnectionStackTraces -> false, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> z8kfsx8c99kx7g8xqvs4|87400, idleConnectionTestPeriod -> 1500, initialPoolSize -> 4, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime ->1800, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 10, maxStatements -> 200,maxStatementsPerConnection -> 0 , minPoolSize -> 4, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@9d074b3f [描述 -> null, driverClass -> null, factoryClassLocation -> null, identityToken -> z8kfsx8c99kx7g8xqvs4|b245dc, jdbcUrl -> jdbc:mysql://localhost:3306/oDB, 属性 -> {autoReconnect=true, user= *, 密码=* , zeroDateTimeBehavior=convertToNull} ], preferredTestQuery -> null , propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false , unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false; userOverrides: {} ],dataSourceName -> null,factoryClassLocation -> null,identityToken -> z8kfsx8c99kx7g8xqvs4|93c5e7,numHelperThreads -> 3]

提前致谢。古拉

0 投票
2 回答
11847 浏览

hibernate - 具有 c3p0 配置的多个应用程序发出警告


,我在一个 tomcat 下有两个 Web 应用程序。两者都使用休眠 3.2.1 和 c3p0 0.9.1.2。在部署第二个应用程序时,我总是收到以下警告消息。
Tomcat:apache-tomcat-6.0.28

WARN 2010-11-06 19:04:37,270 C3P0Registry mbean 已经注册。这可能意味着使用 c3p0 的应用程序已取消部署,但并非所有 PooledDataSources 在取消部署之前都已关闭。随着时间的推移,这可能会导致资源泄漏。请注意关闭所有 PooledDataSources。

请在这方面提供帮助。

提前感谢
古拉

0 投票
4 回答
5181 浏览

java - 如何扩展 c3p0 ComboPooledDataSource

好的,我在 server.xml 中的 Tomcat 5.5 中有一个资源,用于数据库连接,如下所示:

有没有人尝试扩展上述 ComboPooledDataSource?问题是数据库密码是明文。思路是先对密码进行加密,将加密后的密钥放在server.xml中。我有一个解密实用程序,因此我可以在尝试连接到数据库之前解密密钥。

我为我的 org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory 问题找到了一个示例解决方案,但我没有使用这个连接池。我正在使用 C3P0。有人用 C3P0 试过这个吗?

0 投票
2 回答
6430 浏览

java - 数据库连接池库的最佳选择是什么?(c3p0 问题)

我有使用 hirbernate 的重载 java 应用程序。而且我曾经用作连接池 DBCP,但它存在连接丢失的问题。比我切换到c3p0。但现在它有时会阻塞线程,我不知道为什么。像这儿:

' 我的堆栈跟踪转储显示该线程阻塞了我的所有其他线程,锁定 <0x00007fa7286d9728>,因此在一段时间内服务器被完全阻塞。我不确定这个线程运行了多长时间,如果一个线程长时间阻塞所有其他线程,或者这个线程消耗的时间非常长,但结果是,我的系统被完全阻塞并且非常慢。我google了很多,但我不知道如何解决这个问题。我需要池来关闭连接并尽快完成踩踏。我应该使用其他连接池吗?对我来说,这个池库绝对有必要 100% 保存,没有死锁、生命锁、饥饿,即使它比其他库慢一点。

谢谢你的帮助

0 投票
1 回答
971 浏览

jetty - 当 Web 应用程序上下文被销毁时关闭 Jetty 数据源

我正在使用maven-jetty-plugin在开发模式下运行 Web 应用程序。另外,我在以下位置配置了一个 c3p0 JNDI 数据源jetty-env.xml

虽然这工作得很好,但我注意到连接池在 webapp 重新部署时没有关闭 - c3p0 线程仍然存在,这意味着我得到了 PermGen 和 JDBC 连接泄漏。

我没有发现销毁 jetty-env.xml 中定义的资源的参考,而且我也不愿意放入仅限开发的钩子,因为生产设置不同。

如何确保在开发时重新部署应用程序时不会因连接池未关闭而导致泄漏?