C3P0:池子已经满了。

问题描述 投票:0回答:1

谁能告诉我这是什么意思? 我最近把几乎所有的代码都改成了 try-with-resources,这样清理连接的问题就不会那么严重了。 我假设我的连接数已经超出了C3P0的处理范围,不需要额外配置。 这里主要是单线程的事情。 这里还有另一个线程在工作,但我确实有代码在那里完成后关闭连接。 我试图通过我的日志文件来寻找在C3P0达到最大值之前发生了15次的事情。 现在我的程序似乎被挂起了,而且不接新的工作给它做。

2020-04-28 14:17:12 [DEBUG] [main] - acquire test -- pool is already maxed out. [managed: 15; max: 15]
2020-04-28 14:17:12 [DEBUG] [main] - awaitAvailable(): com.mchange.v2.c3p0.impl.NewPooledConnection@c1997cd
2020-04-28 14:17:42 [DEBUG] [RepostWatcher] - acquire test -- pool is already maxed out. [managed: 15; max: 15]
2020-04-28 14:17:42 [DEBUG] [RepostWatcher] - awaitAvailable(): com.mchange.v2.c3p0.impl.NewPooledConnection@c1997cd
java c3p0
1个回答
2
投票

你很可能是泄漏了连接,也就是说,你没有确保每次打开连接时都关闭它们。你应该使用一个类似于 巧取豪夺 每当你获得一个连接时。如果你需要调试代码库中哪些地方的连接被打开了,而这些连接可能还没有被关闭,请参见文档中的 此处.

© www.soinside.com 2019 - 2024. All rights reserved.