📄 messagelauncherdaemonstate.java
字号:
package com.infobank.superchannel.daemon.messagelauncher;import java.util.Queue;import java.util.concurrent.atomic.AtomicReference;import com.infobank.superchannel.daemon.GenericState;import com.infobank.superchannel.daemon.databasecache.DatabaseCache;import com.infobank.superchannel.pojo.TextMessage;/** * @author Xiaoguang Sun * @version 类说明: 信息发送服务器状态 */public abstract class MessageLauncherDaemonState implements GenericState { /** * 初始化信息发送服务器状态机 * @param daemon 信息发送服务器 */ public static boolean init(MessageLauncherDaemon daemon){ MessageLauncherDaemonState.daemon.set(daemon); return true; } // 信息发送服务器状态机对象 private static AtomicReference<MessageLauncherDaemon> daemon=new AtomicReference<MessageLauncherDaemon>(null); /** * 取得信息发送服务器对象 * @return 信息发送服务器对象 */ protected MessageLauncherDaemon getDaemon(){ return daemon.get(); } /** * 从数据库缓冲服务器获取新的待发短信息 * @return 新的待发短信息 */ public abstract Queue<TextMessage> fetchNewMessage(); /** * 新增短消息到消息队列 * @param messages 新的待发短信息 */ public abstract void addMessage(Queue<TextMessage> messages); /** * 新增短消息状态变更请求到等待队列 * @param message 状态更新的短消息 */ public abstract void addStatusUpdate(TextMessage message); /** * 将状态更新请求队列内所有待更新项目发送给数据库缓冲服务器 * @return 操作是否成功 */ public abstract boolean updateMessageStatus(); /** * 从批量消息队列取出一条消息待发 * @return 新消息 */ public abstract TextMessage getMassMessage(); /** * 从批量消息队列取出一定数量的消息待发 * @return 一批新消息 */ public abstract Queue<TextMessage> getMassMessage(int number); /** * 从普通消息队列取出一条消息待发 * @return 新消息 */ public abstract TextMessage getGeneralMessage(); /** * 从普通消息队列取出一定数量的消息待发 * @return 一批新消息 */ public abstract Queue<TextMessage> getGeneralMessage(int number); /** * 当前信息发送服务器是否可运行 * @return 当前信息发送服务器是否可运行 */ public abstract boolean isRunnable(); /** * 当前信息发送服务器是否出于暂停态 * @return 当前信息发送服务器是否出于暂停态 */ public abstract boolean isPaused(); public abstract boolean newIncomingMessage(TextMessage message); public abstract void saveIncomingMessage();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -