12345678910111213141516171819202122232425262728 |
- package org.jeecg.boot.starter.rabbitmq.event;
- import cn.hutool.core.util.ObjectUtil;
- import org.jeecg.common.util.SpringContextHolder;
- import org.springframework.context.ApplicationListener;
- import org.springframework.stereotype.Component;
- /**
- * 监听远程事件,并分发消息到业务模块消息处理器
- */
- @Component
- public class BaseApplicationEvent implements ApplicationListener<JeecgRemoteApplicationEvent> {
- @Override
- public void onApplicationEvent(JeecgRemoteApplicationEvent jeecgRemoteApplicationEvent) {
- EventObj eventObj = jeecgRemoteApplicationEvent.getEventObj();
- if (ObjectUtil.isNotEmpty(eventObj)) {
- //获取业务模块消息处理器
- JeecgBusEventHandler busEventHandler = SpringContextHolder.getHandler(eventObj.getHandlerName(), JeecgBusEventHandler.class);
- if (ObjectUtil.isNotEmpty(busEventHandler)) {
- //通知业务模块
- busEventHandler.onMessage(eventObj);
- }
- }
- }
- }
|