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

📄 superchannelcontrollerdaemon.java.svn-base

📁 监控整个SP系统的SMS信息通道的发送情况并且生成日志。 支持权限判断。
💻 SVN-BASE
字号:
package com.infobank.superchannel.daemon.controller;import java.rmi.RemoteException;import java.rmi.registry.LocateRegistry;import java.rmi.registry.Registry;import java.rmi.server.UnicastRemoteObject;import java.util.UUID;import java.lang.management.*;import org.apache.commons.configuration.Configuration;import org.apache.log4j.Logger;import com.infobank.superchannel.admin.controller.DatabaseCacheController;import com.infobank.superchannel.admin.controller.SuperChannelController;import com.infobank.superchannel.admin.controller.implementation.SuperChannelControllerImpl;import com.infobank.superchannel.admin.monitor.implementation.DatabaseCacheStatusMonitorImpl;import com.infobank.superchannel.daemon.GenericDaemon;import com.infobank.superchannel.daemon.databasecache.DatabaseCacheDaemon;import com.infobank.superchannel.daemon.messagelauncher.MessageLauncherDaemon;import com.infobank.superchannel.pojo.ControllerUserToken;import com.infobank.superchannel.util.DaemonConfiguration;public class SuperChannelControllerDaemon implements GenericDaemon{   private SuperChannelController  controller=null;  private SuperChannelControllerImpl  controllerImpl=null;  private static SuperChannelControllerDaemon instance=null;    private ControllerUserToken token=new ControllerUserToken(UUID.randomUUID());    private String databaseCacheDaemonJVMArgs=null;  private String databaseCacheDaemonMain=DatabaseCacheDaemon.class.getName();    private String messageLauncherDaemonJVMArgs=null;  private String messageLauncherDaemonMain=MessageLauncherDaemon.class.getName();    private String classPath=null;    private Logger logger=Logger.getLogger(SuperChannelControllerDaemon.class);    /**   * @param args   */  public static void main(String[] args) {    instance=new SuperChannelControllerDaemon();    DaemonConfiguration.init();        RuntimeMXBean rtmxBean=ManagementFactory.getRuntimeMXBean();        instance.classPath=rtmxBean.getClassPath();        DaemonConfiguration config=DaemonConfiguration.getInstance();    String endPoint=config.getString("/daemon[@type='SuperChannel']/endpoint/@name");        instance.logger.info("Classpath:"+instance.classPath);        long timeout=config.getLong("/daemon[@type='SuperChannel']/security/token/timeout");    try{      instance.controllerImpl=new SuperChannelControllerImpl(instance.token,timeout,instance.classPath);      instance.controller=(SuperChannelController)UnicastRemoteObject.exportObject(instance.controllerImpl, 0);        Registry registry = LocateRegistry.getRegistry();        registry.rebind(endPoint,instance.controller);    }    catch(RemoteException ex){      ex.printStackTrace();      throw new RuntimeException("fatal error: could not bind controller to registry");    }  }  public String getState() {    try{      return controller.getDatabaseCacheState(token);    }catch(RemoteException ex){      return "Stopped";    }  }  public boolean pause() {    try{      return controller.pause(token);    }catch(RemoteException ex){      return false;    }  }  public boolean reload() {    try{      return controller.reload(token);    }catch(RemoteException ex){      return false;    }  }  public boolean restart() {    try{      return controller.restart(token);    }catch(RemoteException ex){      return false;    }  }  public boolean resume() {    try{      return controller.resume(token);    }catch(RemoteException ex){      return false;    }  }  public boolean start() {    try{      controller.startDatabaseCache(token);      return controller.startAllMessageLauncher(token);    }catch(RemoteException ex){      return false;    }  }  public boolean stop() {    try{      return controller.stop(token);    }    catch(RemoteException ex){      return false;    }  }}

⌨️ 快捷键说明

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