我读到与 REST 相比,SOAP Web 服务支持 ACID 属性。有人可以用示例为我解释一下吗?
最佳答案
Web 服务原子事务 (WS-AtomicTransaction) 版本 1.2
Web 服务协调(WS-Coordination)1.2 版
https://docs.oracle.com/cd/E21764_01/web.1111/e13734/transaction.htm#WSADV382
“本规范为原子事务协调类型定义了三种特定的协议(protocol)协调协议(protocol):完成、易变两阶段提交和持久两阶段提交。开发人员在构建需要一致协议(protocol)的应用程序时可以使用这些协议(protocol)中的任何一种或全部关于具有全有或全无属性的短期分布式 Activity 的结果。” http://docs.oasis-open.org/ws-tx/wstx-wsat-1.2-spec-cs-01/wstx-wsat-1.2-spec-cs-01.html
“该框架使现有的事务处理、工作流和其他协调系统能够隐藏其专有协议(protocol)并在异构环境中运行。” http://docs.oasis-open.org/ws-tx/wstx-wscoor-1.2-spec-cs-01/wstx-wscoor-1.2-spec-cs-01.html
“Web 服务提供了一种自动事务机制。任何 Web 方法都可以在事务范围内自动运行。要利用此功能,您需要做的就是向 WebMethod 属性添加一个属性——不需要额外的代码.如果在web方法中抛出异常,没有被捕获,事务会自动中止;如果没有抛出异常,事务会被提交。你可以在web方法中捕获异常,但是你必须抛出异常— 在执行任何需要执行的步骤之后 — 以中止事务。本文向您展示如何有效地使用自动 Web 服务事务。 http://www.informit.com/articles/article.aspx?p=30231&seqNum=2
关于java - SOAP webservice如何支持ACID属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36275339/