JAX-RS 中的回滚事务

发布于 2024-11-06 12:41:56 字数 123 浏览 0 评论 0原文

我有一个简单的资源类,它实现了一些 POST 方法。如果我的方法中出现异常,如何回滚事务,以及提交 - 如果一切正常?

有没有办法一次性编写此代码 - 不是在我拥有的每个资源类中?

I have a simple resource class that implements some POST method. How to rollback transaction if there was exceptions in my methods, and commit - if all is ok?

Is there a way to write this code once - not in every resource class that I have?

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

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

发布评论

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

评论(2

ペ泪落弦音 2024-11-13 12:41:56

如果您使用 Spring,@Transactional 将处理您的场景。

http://static.springsource.org/spring/docs/3.0 .x/reference/transaction.html

If you are using Spring, @Transactional will handle your scenario.

http://static.springsource.org/spring/docs/3.0.x/reference/transaction.html

空名 2024-11-13 12:41:56

使用依赖注入将大大简化这一过程。在要提交/回滚事务的方法周围使用 @Transactional 或类似注释。

如果您必须手动执行此操作,则基本上有两个选择:

  • 为每个操作手动执行此操作,
  • 使用 代理模式< /a>/装饰器模式并代理/装饰所有需要事务的类。然后在代理/装饰器中启动事务,委托给目标,并在返回后提交。 (这就是 DI 框架的做法)

Using a dependency-injection will greatly simplify this. Using @Transactional or similar annotations around the methods where you want to commit/rollback transactions.

If you have to do this manually, you have basically two options:

  • do it manually for every operation
  • use the proxy pattern/decorator pattern and proxy/decorate all your classes that require transactions. Then in the proxy/decorator start the transaction, delegate to the target, and commit it after it returns. (this is how DI frameworks do it)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文