java基于事件驱动之spring事件驱动
来源:互联网 发布:us域名网站打不开 编辑:程序博客网 时间:2024/06/01 18:00
事件驱动4个要素:
事件、事件源、注册中心(事件通道)、侦听器。
事件驱动和观察者模式本质一样,事件驱动是观察者模式的经典实现。
事件驱动的好处:
1、 无耦合的关联,事件发布者和订阅者不需要预先知道彼此的存在。
2、 异步消息传递,业务逻辑和事件可以同步发生。
3、 多对多的交互,发布订阅模型。
定义事件类:这个类需要继承ApplicationEvent类。
注册事件的监听器:监听类需要实现ApplicationListener接口,并将泛型设置为具体的事件类。
事件生产者:需要实现ApplicationContextAware接口,通过applicationContext.publishEvent()发布事件。
注册中心:spring初始化的时候将所有的监听器放入集合中,当发布事件后spring会遍历集合将监听这个事件的所有监听器取出来依次执行监听代码。
具体业务
传统的业务流程,飞机票预定和发送短信、发送邮件耦合在一起,在同一个线程中,会出现如果短信或者邮件服务异常会引起主业务异常。所以需要通过事件驱动方式解耦。
基于spring的事件驱动不止在代码级别解耦,一定要在线程级别解耦。配置事件异步支持(多线程方式),并通过线程池来实现不同的监听器用不同的线程。
阅读全文
0 0
- java基于事件驱动之spring事件驱动
- Java事件驱动模式,Spring事件
- Spring事件驱动模型
- spring 事件驱动模型
- Spring源码之事件驱动模型
- 事件驱动之我见
- java 事件驱动模型
- Java事件驱动模式
- java的事件驱动
- JAVA事件驱动模式
- Java之事件驱动模型实例详解
- Spring事件驱动模型详解
- 详解Spring事件驱动模型
- 详解Spring事件驱动模型
- 详解Spring事件驱动模型
- 详解Spring事件驱动模型
- spring 事件驱动模型简介
- 详解Spring事件驱动模型
- 新博客 wp.hellocode.name 欢迎访问!此博客不再更新
- 将mysql中数据导入到hbase中出现 NoSuchMethodError
- HDU2023求平均值的问题 2017.10.8
- Java9 基于异步响应式流的发布-订阅框架
- ckplayer播放器
- java基于事件驱动之spring事件驱动
- android studio 图标更换
- weed
- 【算法】之冒泡排序
- 单链表的基本操作实现
- JavaScript实现根据ID查询单条数据(伪SQL查询)
- 递归神经网络对中文字符的读写——读后感
- hdu 1532 最大流(模板)
- NKOJ 2791 (APIO 2012)守卫(贪心+链表+差分数组)