如何修改 Eclipselink JPA 2.0 连接重试行为

发布于 2024-10-21 09:05:42 字数 217 浏览 7 评论 0原文

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

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

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

老旧海报 2024-10-28 09:05:42

使用 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"/>

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"/>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文