public override void startup() { base.startup(); /* initial delay to execute schedule task, unit: ms */ long initialDelay = ConfigManager.conn_monitor_initial_delay(); /* period of schedule task, unit: ms*/ long period = ConfigManager.conn_monitor_period(); executor = new ScheduledThreadPoolExecutor(1, new NamedThreadFactory("ConnectionMonitorThread", true), new ThreadPoolExecutor.AbortPolicy()); executor.scheduleAtFixedRate(new TempRunnable(this), initialDelay, period, TimeUnit.MILLISECONDS); }