📄 databasecachedaemonstate.java
字号:
package com.infobank.superchannel.daemon.databasecache;import java.rmi.RemoteException;import java.util.Queue;import java.util.concurrent.atomic.AtomicReference;import com.infobank.superchannel.daemon.GenericState;import com.infobank.superchannel.pojo.BlackList;import com.infobank.superchannel.pojo.TextMessage;/** * @author Xiaoguang Sun * @version 类说明: 数据库缓冲服务器状态 */public abstract class DatabaseCacheDaemonState implements GenericState { /** * 初始化数据库缓冲服务器状态机 * @param daemon 数据库缓冲服务器对象 */ public static boolean init(DatabaseCacheDaemon daemon){ DatabaseCacheDaemonState.daemon.set(daemon); return true; } // 数据库缓冲服务器对象 private static AtomicReference<DatabaseCacheDaemon> daemon=new AtomicReference<DatabaseCacheDaemon>(null); /** * 取得数据库缓冲服务器对象 * @return 数据库缓冲服务器对象 */ protected DatabaseCacheDaemon getDaemon(){ return daemon.get(); } /** * 取出信息状态待更新队列中所有状态待更新的信息 * @return 信息状态待更新队列中所有状态待更新的信息 */ public abstract Queue<TextMessage> getPendingStatusUpdate(); /** * 将所给信息的新状态更新回数据库 * @param status 信息新状态更新请求 * @return 操作是否成功 */ public abstract boolean updateMessageStatus(Queue<TextMessage> status); /** * 新增待发信息到待发信息队列 * @param messages 待发消息 * @param tag message tag * @return 操作是否成功 */ public abstract boolean addNewMessage(Queue<TextMessage> messages,String tag); public abstract void setBlackList(BlackList blacklist); /** * 取出待发短信息队列中所有的信息 * @param tag message tag * @return 待发短信息队列中所有的信息 */ public abstract Queue<TextMessage> getNewMessage(String tag); /** * 当前数据库缓冲服务器是否可运行 * @return 当前数据库缓冲服务器是否可运行 */ public abstract boolean isRunnable(); /** * 当前数据库缓冲服务器是否出于暂停态 * @return 当前数据库缓冲服务器是否出于暂停态 */ public abstract boolean isPaused(); /** * 保存新的上行短信息 * @param messages 新的上行短信息 * @return 操作是否成功 */ public abstract boolean newIncomingMessage(Queue<TextMessage> messages); /** * 取得待回写上行短信息 * @return 待回写上行短信息 */ public abstract Queue<TextMessage> getNewIncomingMessage();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -