4

如何修改 Eclipselink JPA 2.0 连接重试行为。当 Eclipselink 检测到连接失败时,它会自动尝试将其自身重新连接到数据库,这会导致 swing ui 冻结而没有任何响应,直到它连接到数据库。是否有任何解决方案来修改此行为即是否可以在连接失败而不重试时抛出异常请帮助解决我面临的巨大问题。

我去了 eclipselink 源代码和谷歌,但我找不到任何解决方案。

4

1 回答 1

7

使用 SessionCustomizer 您可以禁用连接重新连接。

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);
    }
}

可以通过持久性单元属性设置此定制器

 <property name="eclipselink.session.customizer" value="acme.EmployeeSessionCustomizer"/>
于 2011-03-15T13:59:21.387 回答