支持异步多播
本文主要关注的代码为org.springframework.context.support.AbstractApplicationContext#refresh方法中的initApplicationEventMulticaster(), registerListeners()这两行代码,
1. 初始化一个事件多播器
//org.springframework.context.support.AbstractApplicationContext#refresh
// Initialize event multicaster for this context.
initApplicationEventMulticaster();
2. 注册一个监听器--将一个监听事件注册到上面的多播器里面去
// Check for listener beans and register them.
registerListeners();
如下图所示:
主要解决的问题:如何让spring支持事件多播器的异步多播。
如何实现:自己定义一个多播器,并给bean命名为applicationEventMulticaster:
@Component(value = "application