- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的应用程序在使用 Hibernate 与 MySQL 数据库通信时偶尔会看到此异常。我尝试调整 C3p0 属性,但它似乎不起作用。
C3p0相关设置如下:
<property name="hibernate.c3p0.acquire_increment">2</property>
<property name="hibernate.c3p0.idle_test_period">60</property><!-- in seconds -->
<property name="hibernate.c3p0.min_size">2</property>
<property name="hibernate.c3p0.max_size">10</property>
<property name="hibernate.c3p0.max_statements">0</property>
<property name="hibernate.c3p0.timeout">180</property>
<property name="hibernate.c3p0.preferredTestQuery">select 1</property>
连接 url 如下所示:
jdbc:mysql://<DB endpoint>?autoReconnect=true&useUniCode=true&characterEncoding=UTF-8&useSSL=true&requireSSL=true&verifyServerCertificate=false
堆栈跟踪是:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
Last packet sent to the server was 1549998 ms ago.
Caused by: javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: java.net.SocketException:
Connection reset
我需要调整 MySQL 系统变量吗?任何指示我们如何避免这种异常?
谢谢吉腾德拉
最佳答案
hibernate.c3p0.idle_test_period -- 或 c3p0.idleConnectionTestPeriod 将仅在连接空闲 60 秒时每 60 秒测试一次。如果您的应用程序非常活跃,那么它不会闲置这么久。 c3p0 尝试在应用程序接收到的异常意味着连接应该失效时发出通知,但这取决于异常的 SQLState,这在数据库/JDBC 驱动程序之间是不一致的并且不完全可靠。死连接很少能在多轮 checkin / checkout 后存活下来,但在您的设置下它可能会发生。
最简单的解决方案是将 c3p0.testConnectionOnCheckin 添加到您的配置中。这确保了无论连接是繁忙还是空闲,连接都将在被允许进入池之前进行测试,而不会产生结帐测试的同步开销。
请看http://www.mchange.com/projects/c3p0/#configuring_connection_testing
另外请验证您设置的配置参数是否正在通过底层连接池。 c3p0 在池初始化时将其配置转储到您的 INFO 级别的日志中:检查您的日志以验证您的设置是否与您认为的一样。 (或者,您可以在应用程序通过 jmx 运行时检查池。)
祝你好运!
关于java - 通信链路故障..连接重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12634948/
对我来说遇到了一个棘手的问题......基于主干的路由 Controller 和期望的效果没有实现。 我需要仅根据 URL 的第一部分获取 URL,并根据任何一种可能性定向到路线。 JS routes
假设链路上同时存在弹性流量和非弹性流量(如图所示)。那么它们中的哪一个将主导链路(弹性或非弹性)。根据我的说法,这应该取决于如果非弹性流量作为弹性流量可以调整流量,那么流量可以根据它进行调整。所以任何
我是一名优秀的程序员,十分优秀!