📄 channelmanager.java.svn-base
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -