HD event注册类

HD事件消费之事件注册

一、配置

1、事件消费类

<bean id="synShenmaListener" class="com.hudong.task.sm.ShenMaPushListener" />

2、事件监听注册

<!-- 监听器注册 -->

<bean id="eventRegister" class="com.hudong.core.common.event.EventRegister">

<property name="eventListeners">

  <list>

  <ref bean="synShenmaListener" />

 </list>

</property>

</bean>

二、事件注册类

1、类图

wKiom1TIk7uz_p2uAABdbDgumvY771.jpg      wKiom1TJ1SKRsY9JAAA6sx9de1g663.jpg     wKiom1TJ1XLTG0D9AABVnH3F818090.jpg


wKioL1TJ2SiBLBvhAAA1J7ZfjMg338.jpg

2、依赖图

wKioL1TIlQKANJBZAAG4nZzgYLA589.jpg

3、实现要点

3.1 private final static Map<String, EventListener[]> eventListenerCache 

key:eventName + ":" + invokeTypeEnum.name()

或(null != eventPhaseEnum)

eventName + ":" + eventPhaseEnum.name() + ":" + invokeTypeEnum.name()

3.2 prepareEventListenerCache()

  1、根据配置文件取得注册的监听器实现list

   2、遍历listener list 得到每个listener 类的注解并取得eventnames

   3、遍历eventnames,拼接key值

    4、将key值对应的listener实现数组放入eventListenerCache 中

   wKiom1TIovfDWMeSAAJeGHbUodI064.jpg

你可能感兴趣的:(监听器,HD,注册类)