Как изменить поведение повторных попыток подключения Eclipselink JPA 2.0 - PullRequest
3 голосов
/ 13 марта 2011

Как изменить поведение повторного подключения Eclipselink JPA 2.0. Eclipselink автоматически пытается заново подключиться к базе данных каждый раз, когда обнаруживает сбой подключения, что приводит к зависанию swi-интерфейса без каких-либо ответов, пока он не подключится к базе данных. Есть ли решение, чтобы изменить это поведение Т.е. возможно ли генерировать исключение при сбое соединения без повторной попытки Пожалуйста, помогите по этому вопросу Я сталкиваюсь с огромной проблемой.

Я отправил исходный код eclipselink и Google, но не смог найти никакого решения.

1 Ответ

6 голосов
/ 15 марта 2011

Используя 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"/>
...