Spring boot异步事件event异步处理方法

213 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

引言

如果你碰到的业务流程类似调用某些接口需要直接返回数据,不需要直接告诉对方实际成功与否类型,可以试用异步的方法,处理复杂的逻辑。然后去提升接口响应的速度

1.实现层调用异步事件ApplicationEvent

applicationEventPublisher.publishEvent(new PartyComDispatchEvent(partyDisEventDto));

2.参数

import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationEvent;

@Slf4j
@Getter
public class PartyComDispatchEvent extends ApplicationEvent {

    private PartyDisEventDto partyDisEventDto;

    public PartyComDispatchEvent(PartyDisEventDto partyDisEventDto) {
        super(partyDisEventDto);
        this.partyDisEventDto = partyDisEventDto;
    }
}

3.业务逻辑处理方法

@Component
@Slf4j
public class PartyComDispatchListenser implements ApplicationListener<PartyComDispatchEvent> {


    @Async
    @Override
    public void onApplicationEvent(PartyComDispatchEvent partyComDispatchEvent) {
    //实际异步方法处理的业务逻辑
    }

}