Eclipse MicroProfile、Narayana LRA 与 Linux 容器技术详解
1. Eclipse MicroProfile 与 Narayana LRA 事务处理
1.1 LRA 基本概念与配置
LRA(Long Running Action)是处理长时间运行事务的一种机制。当设置 LRA.Type.REQUIRED 时,如果在 LRA 上下文之外调用方法,JAX - RS 过滤器会在方法调用期间开启一个新的 LRA,调用完成后,另一个 JAX - RS 过滤器会结束该 LRA。关键在于使用 @LRA 注解来处理 LRA 的生命周期。
同时,还定义了业务方法失败的情况,通过 cancelOn = {Response.Status.INTERNAL_SERVER_ERROR} 在返回 500 状态码时取消操作, cancelOnFamily = {Response.Status.Family.CLIENT_ERROR} 在返回任何 4xx 状态码时取消操作。
1.2 完成阶段(Complete Phase)
在完成阶段,LRA 协调器会调用带有 @Complete 注解的方法,以确保业务操作在数据状态上保持一致。以下是一个示例代码:
/**
* LRA complete method: it sets the final status of the football player off
超级会员免费看
订阅专栏 解锁全文
63

被折叠的 条评论
为什么被折叠?



