⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filepersistencedatabasecachestatusobserver.java

📁 监控整个SP系统的SMS信息通道的发送情况并且生成日志。 支持权限判断。
💻 JAVA
字号:
package com.infobank.superchannel.observer.implementation;import java.util.Enumeration;import java.util.List;import java.util.Set;import org.apache.log4j.Logger;import com.infobank.superchannel.daemon.databasecache.DatabaseCacheDaemon;import com.infobank.superchannel.observer.DatabaseCacheStatusObserver;import com.infobank.superchannel.pojo.BlackList;import com.infobank.superchannel.pojo.BlackListLog;import com.infobank.superchannel.pojo.GenericLog;import com.infobank.superchannel.pojo.TextMessage;import com.infobank.superchannel.pojo.TextMessageLog;/** * @author Xiaoguang Sun * @version 类说明: FilePersistence状态观察者 */public class FilePersistenceDatabaseCacheStatusObserver extends FilePersistenceLogObserver implements    DatabaseCacheStatusObserver {  private Logger logger=null;  public FilePersistenceDatabaseCacheStatusObserver(DatabaseCacheDaemon daemon){    super(daemon);    logger=Logger.getLogger(daemon.getClass());  }  /**   *  过滤掉一条短消息   * @param message 被过滤掉的短消息   */  public void blockMessage(TextMessage message) {    StringBuffer sb=new StringBuffer("Message sent to ");    sb.append(message.getPhone());    sb.append(" is blocked:");    sb.append(message.getMessage());    logger.info(sb.toString());  }  /**   * 设置新的消息队列尺寸   * @param size 新尺寸   */  public void messageQueueSize(int size) {  }  /**   * 从数据库中取出一条新待发短消息   * @param message 新待发短消息   */  public void newMessage(TextMessage message) {    StringBuffer sb=new StringBuffer("New message for ");    sb.append(message.getPhone());    sb.append(": ");    sb.append(message.getMessage());    logger.info(sb.toString());  }  /**   * 设置累计发送失败的短信息条数   * @param number 累计发送失败的短信息条数   */  public void numberOfFailedMessages(int number) {  }  /**   * 设置累计发送成功的短信息条数   * @param number 累计发送成功的短信息条数   */  public void numberOfSuccessfulMessages(int number) {  }  /**   *  重新读取黑名单   * @param list 黑名单   */  public void reloadBlackList(BlackList list) {    StringBuilder sb=new StringBuilder("Reloading blacklist for message with tag:");    sb.append(list.tag);    if(!list.blacklist.isEmpty()){      sb.append("\nBlacklist:");      Set<String> blackList=list.blacklist.keySet();      for(String black:blackList){        sb.append(black);        sb.append("\n");      }    }    logger.info(sb.toString());  }  /**   * 设置新的状态更新等待队列尺寸   * @param size 新尺寸   */  public void statusQueueSize(int size) {  }  /**   * 将一条短消息的状态更新回写回数据库   * @param message 状态更新的短消息   */  public void updateMessageStatus(TextMessage message) {    StringBuffer sb=new StringBuffer("Updating message ");    sb.append(message.getMessageID());    sb.append(" status to ");    sb.append(message.getStatus());    sb.append(" reslult to ");    sb.append(message.getResult());    sb.append(":");    sb.append(message.getMessage());    logger.info(sb.toString());  }  /**   *  有一条状态更新的短信被添加到待更新请求队列   * @param message 状态更新的短信   */  public void newMessageStatus(TextMessage message) {  }  /**   * 取得自上次调用此方法后所有黑名单更新日志   * @return 自上次调用此方法后所有黑名单更新日志   */  public List<BlackListLog> getBlackListLog() {    return null;  }  /**   * 取得自上次调用此方法后被过滤掉的短信息内容日志   * @return 自上次调用此方法后被过滤掉的短信息内容日志   */  public List<TextMessageLog> getBlockMessageLog() {    return null;  }  /**   * 取得待发消息队列尺寸   * @param token 用户访问令牌   * @return 待发消息队列尺寸   */  public int getMessageQueueSize() {    return 0;  }  /**   * 取得自上次调用此方法后从数据库中取出的待发短信息日志   * @return 自上次调用此方法后从数据库中取出的待发短信息日志   */  public List<TextMessageLog> getNewMessageLog() {    return null;  }  /**   * 取得自上次调用此方法后新增短信息状态更新请求的日志   * @return 自上次调用此方法后新增短信息状态更新请求的日志   */  public List<TextMessageLog> getNewMessageStatusLog() {    return null;  }  /**   * 取得累计发送失败短信息数目   * @param token 用户访问令牌   * @return 累计发送失败短信息数目   */  public int getNumberOfFailedMessages() {    return 0;  }  /**   * 取得累计发送成功短信息数目   * @param token 用户访问令牌   * @return 累计发送成功短信息数目   */  public int getNumberOfSuccessfulMessages() {    return 0;  }  /**   * 取得状态更新回写队列尺寸   * @param token 用户访问令牌   * @return 状态更新回写队列尺寸   */  public int getStatusQueueSize() {    return 0;  }  /**   * 取得自上次调用此方法后被过短信息状态被回写回数据库的日志   * @return 自上次调用此方法后被过短信息状态被回写回数据库的日志   */  public List<TextMessageLog> getUpdateMessageLog() {    return null;  }  public void incomingMessageQueueSize(int size) {  }  public void newIncomingMessage(TextMessage message) {    StringBuffer sb=new StringBuffer("Got incoming message for ");    sb.append(message.getPhone());    sb.append(" from ");    sb.append(message.getCallback());    sb.append(":");    sb.append(message.getMessage());    logger.info(sb.toString());  }  public int getIncomingMessageQueueSize() {    return 0;  }  public List<TextMessageLog> getNewIncomingMessageLog() {    return null;  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -