如何在工商局网站做清算组备案,小说网站静态页面模板,上海网站建设 找思创网络,网站界面设计方案spring事件的订阅发布#xff0c;适用业务解耦合
使用场景#xff1a;新用户注册之后#xff0c;需要发放优惠券#xff1b;一个订单服务在接收到新订单时发布一个“订单已创建”事件#xff0c;库存服务和通知服务分别订阅该事件#xff1b;日志和监控;实时通知系统;异…spring事件的订阅发布适用业务解耦合
使用场景新用户注册之后需要发放优惠券一个订单服务在接收到新订单时发布一个“订单已创建”事件库存服务和通知服务分别订阅该事件日志和监控;实时通知系统;异步数据处理;微服务通信;
创建事件根据具体业务创建需要的实体
/*** 创建事件*/
public class CleaningBoxEvent {private String message;public CleaningBoxEvent(String message) {this.message message;}public String getMessage() {return message;}
}创建观察者 执行具体业务的业务逻辑
Component
public class CleaningBoxEventListener {EventListenerpublic void handleCustomEvent(CleaningBoxEvent event) {System.out.println(Received custom event: event.getMessage());// 在这里执行观察者的业务逻辑}
}
发布事件 注入bean
/*** 发布事件*/
Component
public class EventPublisherService {Autowiredprivate ApplicationEventPublisher applicationEventPublisher;public void publishCustomEvent(String message) {CleaningBoxEvent customEvent new CleaningBoxEvent(message);applicationEventPublisher.publishEvent(customEvent);}
}执行订阅发布引用事件的方法 /***执行订阅发布*/public void doSomethingAndPublishEvent() {// 发布事件 //returnByList.size()eventPublisherService.publishCustomEvent(自动清箱完成数量);}
执行doSomethingAndPublishEvent();