我是靠谱客的博主 忧伤台灯,最近开发中收集的这篇文章主要介绍springboot实现发布订阅 1 事件2 发布者订阅者,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

        springboot中实现发布订阅中主要的组成部分有:事件、发布者、订阅者;对应需要使用到的类分别是 ApplicationEvent、ApplicationContext和ApplicationListener。

 1 事件

@Data
public class ListenEvent extends ApplicationEvent {
private String idNumber;
private String name;
private String message;
public ListenEvent(Object source) {
super(source);
}
}

2 发布者

/**
* 发布者
* 发布订阅模式需要在启动类中开启异步@EnableAsync
*/
@RestController
@RequestMapping("publishSubscribe/test")
public class Publisher {
@Autowired
private ApplicationContext applicationContext;
@RequestMapping("publish")
public void save() {
ListenEvent event = new ListenEvent(this);
event.setIdNumber("123123213");
event.setName("zhangsan");
event.setMessage("测试发布订阅功能");
applicationContext.publishEvent(event);
System.out.println("....................over........................");
}
}

订阅者

@Component
public class SubscriberOne implements ApplicationListener<ListenEvent> {
@Async
@Override
public void onApplicationEvent(ListenEvent listenEvent) {
System.out.println("订阅者1"+JSON.toJSON(listenEvent).toString());
}
}
@Component
public class SubscriberTwo implements ApplicationListener<ListenEvent> {
@Async
@Override
public void onApplicationEvent(ListenEvent listenEvent) {
System.out.println("订阅者2"+JSON.toJSON(listenEvent).toString());
}
}

最后

以上就是忧伤台灯为你收集整理的springboot实现发布订阅 1 事件2 发布者订阅者的全部内容,希望文章能够帮你解决springboot实现发布订阅 1 事件2 发布者订阅者所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部