Транзакция по запросу и Джерси - PullRequest
3 голосов
/ 14 апреля 2010

Я хотел бы реализовать транзакцию по запросу в сочетании с ресурсами Джерси. Под этим я подразумеваю, что мне нужно одно место для управления транзакциями, что-то вроде:

try {
  chain.doFilter(request, response);
  commitSession();
} finally {
  rollbackSession(); // no-op if already committed
  closeSession();
}      

В прошлом я делал подобные вещи с сервлет-фильтрами, но в Джерси это не сработает. В Джерси исключение перехватывается и преобразуется в 500 задолго до того, как фильтры веб-контейнера восстановят контроль. Полагаю, я мог бы придерживаться подхода «Фильтр» и проверять коды ответов, но это не очень привлекательно. Я видел пару разговоров об этом, но я не смог придумать надежный подход с использованием ResourceFilter, CloseableService или ServletContainer и т. Д. Мое ужасное решение до сих пор должен был реализовать пользовательский ExceptionMapper и выполнить откат там. Кто-нибудь решил это чисто?

Отказ от ответственности - этот проект в настоящее время не использует Spring, поэтому я бы предпочел избежать его для этого небольшого варианта использования.

1 Ответ

1 голос
/ 22 апреля 2010

Нет любви Джерси, а?

http://markmail.org/thread/orcctyu7hczx3d5w

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