概述
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 发布者订阅者所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复