问题
How To modify Eclipselink JPA 2.0 connection retry behavior . Eclipselink automatically tries to reconnect it self to database whenever it detects a connection failure this causes swing ui to freeze without any responses until it connects to database . Are there any solution to modify this behavior Ie is it possible to throw exception when connection fails without retrying Please help on this issue I am facing with huge problem.
I went throe eclipselink source code and google but I could not find any solution.
回答1:
Using a SessionCustomizer you can disable the connection reconnection.
package acme;
import org.eclipse.persistence.internal.sessions.factories.SessionCustomizer;
import org.eclipse.persistence.sessions.Session;
import org.eclipse.persistence.sessions.DatabaseLogin;
public class EmployeeSessionCustomizer implements SessionCustomizer {
public void customize(Sesssion session) {
DatabaseLogin login = (DatabaseLogin)session.getDatasourceLogin();
login.setConnectionHealthValidationOnError(false);
}
}
This customizer can be set through a persistence unit property
<property name="eclipselink.session.customizer" value="acme.EmployeeSessionCustomizer"/>
来源:https://stackoverflow.com/questions/5289075/how-to-modify-eclipselink-jpa-2-0-connection-retry-behavior