Как обрабатывать устаревшие соединения в JPA - PullRequest
2 голосов
/ 05 декабря 2011

Возможно получить устаревшие соединения в пуле соединений, который обслуживает JPA EntityManager.При использовании такого соединения выдается [универсальное] исключение, но каков переносимый (не зависящий от поставщика) способ определить, устарело ли соединение или нет (и, следовательно, следует ли повторять его или нет)?

То, что я ищу, является эквивалентом метода JDBC Connection.isValid ().

Спасибо

1 Ответ

0 голосов
/ 05 декабря 2011

Если вы используете EclipseLink, с пулом подключений EclipseLink он автоматически обнаружит и переподключит мертвые соединения при сбое связи.

Если вы используете DataSource, то вам действительно нужно включить соединение в DataSourceчтобы это работало.В противном случае у вас нет возможности удалить соединение из пула DataSource, вы можете попытаться получить другое соединение, но если DataSource не знает, что соединение не работает, оно может вернуть вам или другим потокам обратно мертвое соединение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...