channelmanager.java.svn-base

来自「监控整个SP系统的SMS信息通道的发送情况并且生成日志。 支持权限判断。」· SVN-BASE 代码 · 共 77 行

SVN-BASE
77
字号
package com.infobank.superchannel.daemon.messagelauncher.channel;import java.lang.reflect.Method;import java.util.LinkedList;import java.util.List;import com.infobank.superchannel.daemon.messagelauncher.MessageLauncherDaemon;import com.infobank.superchannel.util.DaemonConfiguration;/** * @author Xiaoguang Sun * @version 类说明: 通道插件管理器 */public class ChannelManager {  // 所有已加载的通道插件程序  private static ChannelPlugin plugin=null;    /**   *  私有构造函数确保单件   */  private ChannelManager(){   }  // 通道插件管理器单件实例  private static ChannelManager instance=new ChannelManager();  /**   * 取得插件管理器的单件实例   * @return 插件管理器的单件实例   */  public static ChannelManager getInstance(){    return instance;  }    /**   * 取得所有的通道插件列表   * @return 所有的通道插件列表   */  public ChannelPlugin getChannelPlugin(){    return plugin;  }    /**   * 初始化通道插件管理器   * @param daemon 信息发送服务器对象   * @return 初始化是否成功   */  public static boolean init(MessageLauncherDaemon daemon){      String tag=daemon.getTag();    DaemonConfiguration config=DaemonConfiguration.getInstance();    try{        StringBuilder sb=new StringBuilder();        sb.append("/daemon[@type='MessageLauncher' and @tag='");        sb.append(tag);        sb.append("']/channel/plugin/class");    String pluginClassName=config.getString(sb.toString());    plugin=(ChannelPlugin)Class.forName(pluginClassName).newInstance();    Method initMethod=plugin.getClass().getMethod("init", MessageLauncherDaemon.class);    initMethod.invoke(plugin,daemon);    }    catch(Exception ex){    plugin=null;    return false;    }    return true;  }    /**   * 销毁通道插件管理器   * @param daemon 信息发送服务器对象   * @return 销毁是否成功   */  public static boolean fini(MessageLauncherDaemon daemon){    return true;  }}

⌨️ 快捷键说明

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