Npa*_*Npa 6 java spring hibernate connection-pooling c3p0
我正在努力解决我正在进行的项目的连接超时问题.我们使用c3p0来管理连接池和hibernate作为orm工具.我们也用春天.
要查找是否有任何未返回的连接,我已在我的c3p0配置中将debugUnreturnedConnectionStackTraces设置为true(不在c3p0属性中).
还有什么我需要做的.我是否还要向lod4j.properties添加任何内容,还是仅将debugUnreturnedConnectionStackTraces设置为true?
另外,我应该在c3p0属性中将debugUnreturnedConnectionStackTraces设置为true吗?
谢谢您的帮助
Ste*_*man 11
对Corey的答案进行了扩展:
如果unreturnedConnectionTimeout为正且debugUnreturnedConnectionStackTraces设置为true,则记录器"com.mchange.v2.resourcepool.BasicResourcePool"将在INFO级别记录生成未返回异常的堆栈跟踪.
通常人们会从所有记录器中记录INFO级别以上的任何内容,因此这些堆栈跟踪只会出现在您的日志中.但是,如果您没有看到它们,请检查您的日志记录配置,以确保不会过滤来自该记录器的INFO消息.
请注意,如果未设置unreturnedConnectionTimeout,则debugUnreturnedConnectionStackTraces将执行NOTHING.
看到
http://www.mchange.com/projects/c3p0/#unreturnedConnectionTimeout
http://www.mchange.com/projects/c3p0/#debugUnreturnedConnectionStackTraces
我希望这有帮助!
ps无论你如何设置这些属性都没关系,只要它们被正确设置.c3p0在池启动时转储INFO池配置; 检查您的日志以确保无论您是否尝试设置参数,都可以获得预期的配置.或者,您可以使用JMX检查参数.
就个人而言,我通常将以下两行添加到我的 hibernate.cfg.xml 中
<property name="hibernate.c3p0.unreturnedConnectionTimeout">60</property>
<property name="hibernate.c3p0.debugUnreturnedConnectionStackTraces">true</property>
Run Code Online (Sandbox Code Playgroud)
我相信超时的默认值为 0,但我不确定它应该如何工作。
归档时间: |
|
查看次数: |
8166 次 |
最近记录: |