API 层事务策略

2017/02/12 iteye

API Layer 事务策略的命名基于这样一个事实:所有事务逻辑包含在逻辑应用程序架构的 API 层。这个层是一个逻辑层 — 有时也被称为应用程序的域层(domain layer)或 facade 层,它以公共方法或接口的形式向客户机(或表示层)公开功能。之所以说是逻辑 层,是因为可以从本地访问域层(通过直接实例化和调用),或通过 HTTP、远程方法调用(RMI)、通过 EJB 使用 RMI over Internet Inter-Orb Protocol (RMI-IIOP),甚至通过 Java Message Service (JMS) 进行远程访问。      

只有包含在应用程序架构的 API 层中的公共方法包含事务逻辑。其他方法、类或组件都不应包含事务逻辑(包括事务注释、编程式事务逻辑和回滚逻辑)。

API 层中的所有公共写方法(包括插入、更新和删除)都应当使用事务属性 REQUIRED 加以标记。 API层中的所有公共写方法(包括插入、更新和删除)都应当包含回滚逻辑,以标记对检查出的异常执行回滚的事务。

API 层中的所有公共读方法默认情况下都应使用事务属性 SUPPORTS 加以标记    

对于 LUW (Logic Unit of Work)请求,应用程序使用 85% 的单 API 层调用和 15% 的多 API 层调用。对于多API层调用解决的方法是使用一个聚合 API 层方法将多个 API 调用重构为一个单一的 API 调用。

Search

    Table of Contents