继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Hmily框架提供的可扩展的接口或类,用于支持自定义业务逻辑的扩展

2023-12-09 09:42:32297浏览

一凡

2实战 · 485手记 · 29推荐
TA的实战

建议先关注、点赞、收藏后再阅读。
图片描述

Hmily框架提供了以下可扩展的接口或类,用于支持自定义业务逻辑的扩展:

1. TCC接口(Try/Confirm/Cancel):

TCC接口是Hmily框架中最核心的扩展接口之一,用于定义业务逻辑的事务处理过程。开发者需要实现该接口,并在其中定义业务逻辑的Try、Confirm和Cancel方法。例如:

public interface OrderService {
    @Hmily
    boolean tryPay(Order order);

    boolean confirmPay(Order order);

    boolean cancelPay(Order order);
}

2. Hmily拦截器(HmilyTransactionInterceptor):

Hmily拦截器是通过AOP的方式在业务方法执行前后进行拦截,并进行事务处理的拦截器。开发者可以自定义拦截器,在其中实现自己的扩展逻辑。例如:

public class CustomHmilyInterceptor implements HmilyTransactionInterceptor {
    @Override
    public Object interceptor(MethodInvocation methodInvocation) {
        // 自定义扩展逻辑
        // ...
        return methodInvocation.proceed();
    }

    @Override
    public void setSerializer(HmilySerializer serializer) {
        // 设置序列化器
    }

    // ...
}

3. Hmily处理器(HmilyTransactionHandler):

Hmily处理器用于处理Hmily拦截器中拦截到的事务方法,并根据不同的事务阶段调用相应的业务逻辑。开发者可以自定义处理器,在其中实现自己的扩展逻辑。例如:

public class CustomHmilyTransactionHandler implements HmilyTransactionHandler {
    @Override
    public Object handle(HmilyTransactionContext context, MethodInvocation methodInvocation) {
        // 自定义扩展逻辑
        // ...
        return methodInvocation.proceed();
    }

    // ...
}

4. Hmily参与者(HmilyTransactionParticipant):

Hmily参与者是Hmily框架中的事务参与者,负责与事务协调者进行通信、参与事务的Try/Confirm/Cancel阶段的执行。开发者可以自定义参与者,在其中实现自己的扩展逻辑。例如:

public class CustomHmilyTransactionParticipant implements HmilyTransactionParticipant {
    @Override
    public void enlistParticipant(HmilyTransactionContext context) {
        // 自定义扩展逻辑
        // ...
    }

    @Override
    public int getExecuteOrder() {
        // 返回执行顺序
        return 0;
    }

    // ...
}

开发者可以根据实际业务需求,自定义这些接口或类,并在Hmily框架的配置文件中进行配置,以实现自定义业务逻辑的扩展。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP