public static void startEmbeddedZK(ServerCnxnFactory cnxnFactory) { if (ServerSettings.isEmbeddedZK()) { ServerConfig serverConfig = new ServerConfig(); URL resource = AiravataZKUtils.class.getClassLoader().getResource("zoo.cfg"); if (resource == null) { logger.error("There is no zoo.cfg file in the classpath... Failed to start Zookeeper Server"); System.exit(1); } try { serverConfig.parse(resource.getPath()); } catch (QuorumPeerConfig.ConfigException e) { logger.error("Error while starting embedded Zookeeper", e); System.exit(2); } final ServerConfig fServerConfig = serverConfig; final ServerCnxnFactory fserverCnxnFactory = cnxnFactory; (new Thread() { public void run() { try { AiravataZKUtils.runZKFromConfig(fServerConfig,fserverCnxnFactory); } catch (IOException e) { logger.error("Error while starting embedded Zookeeper", e); System.exit(3); } } }).start(); }else{ logger.info("Skipping Zookeeper embedded startup ..."); } }
private static void performServerStopRequest( CommandLineParameters commandLineParameters) throws IOException { // deleteOldStartRecords(); String serverIndexOption = "serverIndex"; if (commandLineParameters.getParameters().containsKey(serverIndexOption)){ serverPID=Integer.parseInt(commandLineParameters.getParameters().get(serverIndexOption)); } if (isServerRunning()) { logger.info("Requesting airavata server"+(serverPID==-1? "(s)":" instance "+serverPID)+" to stop..."); requestStop(); while(isServerRunning()){ try { Thread.sleep(5000); } catch (InterruptedException e) { logger.error(e.getMessage(), e); } } logger.info("Server"+(serverPID==-1? "(s)":" instance "+serverPID)+" stopped!!!"); }else{ logger.error("Server"+(serverPID==-1? "":" instance "+serverPID)+" is not running!!!"); } if (ServerSettings.isEmbeddedZK()) { cnxnFactory.shutdown(); } }