| New file | 
|  |  |  | 
|---|
|  |  |  | package com.dy.rtuMw.server.msCenter; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.dy.common.mw.UnitAdapterInterface; | 
|---|
|  |  |  | import com.dy.common.mw.UnitCallbackInterface; | 
|---|
|  |  |  | import com.dy.common.mw.UnitInterface; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * @Author: liurunyu | 
|---|
|  |  |  | * @Date: 2025/2/12 13:55 | 
|---|
|  |  |  | * @Description | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public class MsCenterUnit  implements UnitInterface { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private static MsCenterUnit instance = new MsCenterUnit() ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static MsCenterUnitAdapter adapter ; | 
|---|
|  |  |  | public static MsCenterConfigVo confVo ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private static MsCenterManager manager ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private MsCenterUnit(){} ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static MsCenterUnit getInstance(){ | 
|---|
|  |  |  | return instance ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void setAdapter(UnitAdapterInterface adapter) throws Exception { | 
|---|
|  |  |  | if(adapter == null){ | 
|---|
|  |  |  | throw new Exception("消息中心模块适配器对象不能为空!") ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | MsCenterUnit.adapter = (MsCenterUnitAdapter)adapter ; | 
|---|
|  |  |  | MsCenterUnit.confVo = MsCenterUnit.adapter.getConfig() ; | 
|---|
|  |  |  | if(MsCenterUnit.confVo == null){ | 
|---|
|  |  |  | throw new Exception("消息中心模块配置对象不能为空!") ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 初始化 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void start(UnitCallbackInterface callback) throws Exception { | 
|---|
|  |  |  | if(confVo.enable){ | 
|---|
|  |  |  | manager = MsCenterManager.getInstance() ; | 
|---|
|  |  |  | manager.initOption(confVo); | 
|---|
|  |  |  | manager.start(1000L, confVo.notifyMsInterval, manager); | 
|---|
|  |  |  | callback.call(null) ; | 
|---|
|  |  |  | System.out.println("消息中心模块成功启动"); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | System.out.println("消息中心模块配置不启动"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void stop(UnitCallbackInterface callback) throws Exception { | 
|---|
|  |  |  | if(manager != null){ | 
|---|
|  |  |  | manager.stop(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 存入消息 | 
|---|
|  |  |  | * @param msNode | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public void pushMs(MsObj msNode){ | 
|---|
|  |  |  | if(manager != null){ | 
|---|
|  |  |  | manager.pushMs(msNode) ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 注册消息接收器 | 
|---|
|  |  |  | * @param webUrl 接收者web http post url | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public void registerMsReceiver(String webUrl){ | 
|---|
|  |  |  | if(manager != null){ | 
|---|
|  |  |  | manager.registerMsReceiver(webUrl) ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|