如何使用EclipseLink重新连接丢失的连接?

Dan*_*sig 6 java mysql jpa jdbc eclipselink

我有问题,如果mySQL服务器在500秒"休眠时间"之后杀死会话,则下一个请求不成功.如果mySQL服务器没有关闭睡眠连接,则可能在700秒后发生同样的问题.

我能做什么?遵循我的persistence.xml的属性

<property name="eclipselink.query-results-cache" value="false" />
<property name="eclipselink.cache.size.default" value="0" />
<property name="eclipselink.cache.type.default" value="None" />
<property name="eclipselink.cache.alwaysRefresh.default" value="true" />
<property name="eclipselink.jdbc.read-connections.max" value="10" />
<property name="eclipselink.jdbc.cache-statements" value="true" />
<property name="eclipselink.jdbc.read-connections.shared" value="true" />
Run Code Online (Sandbox Code Playgroud)

如果知道重要事项,则事务类型为RESOURCE_LOCAL.

Chr*_*ris 5

您如何配置连接池?如果它是服务器数据源,则应在服务器中设置诸如连接测试之类的属性。有关示例设置,请参见http://docs.oracle.com/cd/E21764_01/web.1111/e13737/ds_tuning.htm#i1199711

如果它是EclipseLink池,则默认情况下它应在检测到连接失败时自动尝试重试查询。控制行为的属性只能通过特定数据库的DatabasePlaform类中的api访问,并且可以通过定制器进行设置,如下所述: 如何修改Eclipselink JPA 2.0连接重试行为