程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了休眠c3p0断开的管道大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决休眠c3p0断开的管道?

开发过程中遇到休眠c3p0断开的管道的问题如何解决?下面主要结合日常开发的经验,给出你关于休眠c3p0断开的管道的解决方法建议,希望对你解决休眠c3p0断开的管道有所启发或帮助;

好吧,看来BoneCP实际上已经实现了这一点。可以将其设置为记录事务,并在网络或数据库出现故障时重播它:

http://jolbox.com/bonecp/downloads/site/apidocs/com/jolbox/bonecp/BoneCPConfig.html#settransactionRecoveryEnabled(Boolean)

解决方法

@H_607_9@

我正在将c3p0和hibernate
3用于程序,该程序不断从某些源中提取数据并将其写入数据库。现在的问题是,由于某些原因,数据库可能变得不可用(在最简单的情况下:我只是将其关闭)。

如果有什么要写入数据库,则不应有任何异常-
查询应等待所有永恒,直到数据库再次可用。如果我没记错的话,这就是连接池可以为我做的事情之一:如果数据库有问题,只需重试连接-在最坏的情况下,无限即可。

但是相反,我得到了一个损坏的管道异常,有时会被拒绝连接,然后将该异常传递给我自己的代码,这不应该发生。

即使我捕获到异常,如何再次干净地重新初始化hibernate?(到目前为止,没有c3p0我只是再次建立了会话工厂,但是如果这会泄漏连接(或者这样做可以吗?),我也不会感到惊讶。)

该数据库是Virtuoso开源版本。

我的hibernate.xml.cfg c3p0配置:

<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>  
<property name="hibernate.c3p0.breakAfterAcquireFailure">false</property>
<property name="hibernate.c3p0.acquireRetryAttempts">-1</property>
<property name="hibernate.c3p0.acquireRetryDelay">30000</property>
<property name="hibernate.c3p0.automaticTestTable">my_test_table</property>

<property name="hibernate.c3p0.initialPoolSize">3</property>
<property name="hibernate.c3p0.minPoolSize">3</property>
<property name="hibernate.c3p0.maxPoolSize">10</property>

便说一句:测试表已创建,并且我得到了大量的调试输出-因此看来它实际上是在读取配置。

大佬总结

以上是大佬教程为你收集整理的休眠c3p0断开的管道全部内容,希望文章能够帮你解决休眠c3p0断开的管道所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。