【问题标题】:how to roll back web service in spring MVC如何在 Spring MVC 中回滚 Web 服务
【发布时间】:2016-07-04 11:23:58
【问题描述】:

我有多个网络服务要调用。

假设我调用一个网络服务来将一些数据保存到他们的本地数据库中。从网络服务获得响应后,我会检查以下情况的响应:

1- 让我们以第一次服务成功,第二次也是如此。
2- 让我们考虑第三个 webService 失败,在这种情况下我需要回滚第一个和第二个 web 服务调用!

我该怎么做?

【问题讨论】:

    标签: java web-services rest spring-mvc


    【解决方案1】:

    没有回滚。想象一下以下过程:

    • 您预订了活动门票
    • 您预订了参加活动的航班
    • 您想预订活动地点附近的酒店房间。

    现在没有免费房间了,所以你决定不参加活动。您不能“回滚”航班预订。您需要取消航班,甚至可能需要支付费用。

    因此,如果您调用了 Web 服务来预订航班,则必须调用 Web 服务来取消航班。

    【讨论】:

      【解决方案2】:

      拉维,

      有一种东西叫做Transaction,当它用于Distributed时,它被称为XATransaction。

      希望这会有所帮助:basic spring based transaction

      With and without XATransaction

      您必须记住,您的要求是全局事务,任何地方的异常都会回滚所有事务(插入...等处理)。

      【讨论】:

        猜你喜欢
        • 2015-08-04
        • 1970-01-01
        • 2011-06-13
        • 1970-01-01
        • 2010-09-30
        • 1970-01-01
        • 1970-01-01
        • 2017-09-30
        • 2023-04-09
        相关资源
        最近更新 更多