每个请求的交易和泽西岛

时间:2010-04-14 19:38:23

标签: transactions jersey

我想与Jersey资源一起实现每个请求的事务。通过这种方式,我只是想要一个地方来管理交易,例如:

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

在过去,我使用Servlet过滤器做了类似的事情,但这在泽西岛不起作用。在泽西岛,拦截例外并在网箱容器过滤器重新获得控制之前转换为500长。我想我可以坚持使用Filter方法,并检查响应代码,但这不是很吸引人。我已经看到了couple conversations这个问题,但是我一直无法使用ResourceFilter,CloseableService或ServletContainer等提出一个可靠的方法。到目前为止,我的可怕解决办法是实现自定义ExceptionMapper并在那里执行回滚。有人干净利落地解决了这个问题吗?

免责声明 - 此项目目前不使用Spring,所以我宁愿避免使用Spring。

1 个答案:

答案 0 :(得分:1)

没有泽西的爱,嗯?

http://markmail.org/thread/orcctyu7hczx3d5w