Question

I have the problem if the mySQL Server kills the session after 500 sec "sleeping-time", that the next request isn't successful. The same problem occurs after maybe 700 sec if the mySQL Server doesn't closes the sleeping connection.

What can I do? Following the properties of my 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" />

And the transactiontype is RESOURCE_LOCAL if it's important to know.

Was it helpful?

Solution

How have you configured your connection pool? If it a server datasource, the properties such as connection testing should be set in the server. See http://docs.oracle.com/cd/E21764_01/web.1111/e13737/ds_tuning.htm#i1199711 for example settings.

If it is an EclipseLink pool, it should automatically attempt to retry queries when it detects a connection failure by default. The properties controlling the behavior are only accessible through api in the DatabasePlaform class for your specific database, and can be set through a customizer as described here: How To modify Eclipselink JPA 2.0 connection retry behavior

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top