spring_发布监听事件

模仿一个消息队列达到解耦目的

发布的Service要实现ApplicationEventPublisherAware接口

import org.springframework.context.ApplicationEventPublisherAware;
public class XxxService implments ApplicationEventPublisherAware{
    @Setter
    private ApplicationEventPublisher applicationEventPublisher; //实现接口的set方法
    applicationEventPublisher.publishEvent(new OrderCreatedEvent(order));  //发布一个具体事件
}

具体的事件参数类

package com.cmiinv.shp.api.v1.order.event;
import com.cmiinv.shp.model.generated.TOrder;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
@Getter
@RequiredArgsConstructor
public class XxxCreatedEvent {
    private final App app;
}

事件监听类

@Component  //注入spring
public class XxxEventListener
@EventListener(XxxCreatedEvent.class) //监听具体的事件参数
public void handleXxxCreatedEvent(OrderCreatedEvent event) {
    //具体的业务处理方法
}

猜你喜欢

转载自blog.csdn.net/maqingbin8888/article/details/82987857
今日推荐