Java Web服务事务控制
我最近正在研究一些远程api调用。这就是背景 在交易中,比如说支付工作流,客户通过paypal api成功完成支付后,我需要更新我的本地数据库(比如更新订单表、更新分数表) 是这样的: 整个交易Java Web服务事务控制,java,transactions,Java,Transactions,我最近正在研究一些远程api调用。这就是背景 在交易中,比如说支付工作流,客户通过paypal api成功完成支付后,我需要更新我的本地数据库(比如更新订单表、更新分数表) 是这样的: 整个交易{ 调用paypal api-成功 更新订单表格-成功 更新分数表-失败 } 如果调用paypal api的是一个本地方法,调用类似于update xxx_table的方法,这将非常简单,整个事务将回滚,但在远程api调用中,我无法回滚它 问题来了,我们是否有一个通用的解决方案 任何建议都将不胜感激。如果
{
调用paypal api-成功
更新订单表格-成功
更新分数表-失败
} 如果调用paypal api的是一个本地方法,调用类似于update xxx_table的方法,这将非常简单,整个事务将回滚,但在远程api调用中,我无法回滚它 问题来了,我们是否有一个通用的解决方案
任何建议都将不胜感激。如果Web服务在您的控制之下,您可以根据您的环境使用类似或类似的服务 当访问第三方Web服务时,这取决于它们是否提供这样的功能,如果没有,您必须自己执行回滚
此外,分布式事务可能会导致比它们解决的问题更多的问题,因此您应该仔细考虑是否真的需要它们。所以问题是如何回滚paypal api的调用?好吧,你必须自己做回滚,例如通过挂接回调进行事务回滚。@Thomas,我用paypal来演示这个例子。如何在web服务调用中进行事务控制将更加精确。