/** * 启动 Server端服务 * * @param isRegisterToZK 是否注册到ZK(默认开启) * @param isStartupMQ 是否启动MQ(默认开启) * @param isReloadJobFromDB 是否从DB中ReloadJob(默认开启) * @param systemId System ID(默认clover) * @return */ public boolean startup( boolean isRegisterToZK, boolean isStartupMQ, boolean isStartupNetty, boolean isReloadJobFromDB, String systemId) { try { scheduler.start(); // start scheduler String serverIp = IpUtil.getLocalIP(); if (isRegisterToZK) { registerToZK( CommonConstants.MODULE_TYPE_SERVER, serverIp, null, CommonConstants.ZMQ_SERVER_PORT, systemId); } if (isStartupNetty) { // new ObjectRespServer().bind(CommonConstants.NETTY_SERVER_PORT); new ObjectRespServer().start(CommonConstants.NETTY_SERVER_PORT); } if (isStartupMQ) { // AsyncStartZeroMQ.startup(CommonConstants.ZMQ_SERVER_PORT); } if (isReloadJobFromDB) { reloadJobFromDB(CommonConstants.MODULE_TYPE_SERVER, serverIp); // 从DB中恢复已注册的REMOTE任务 } // ServerHeartBeat.INSTNACE.startup(); // resetJobExecuteTime(null,serverIp); return true; } catch (Exception e) { logger.error("ModuleSchedulerServer-->>start() error", e); return false; } }