package com.google.code.gossip; | |
import java.io.File; | |
import java.io.FileNotFoundException; | |
import java.io.IOException; | |
import org.json.JSONException; | |
public class GossipRunner { | |
private StartupSettings _settings; | |
public static void main(String[] args) { | |
File configFile; | |
if (args.length == 1) { | |
configFile = new File("./"+args[0]); | |
} else { | |
configFile = new File("gossip.conf"); | |
} | |
new GossipRunner(configFile); | |
} | |
public GossipRunner(File configFile) { | |
if (configFile != null && configFile.exists()) { | |
try { | |
System.out.println("Parsing the configuration file..."); | |
_settings = StartupSettings.fromJSONFile(configFile); | |
GossipService gossipService = new GossipService(_settings); | |
System.out.println("Gossip service successfully inialized, let's start it..."); | |
gossipService.start(); | |
} catch (FileNotFoundException e) { | |
System.err.println("The given file is not found!"); | |
} catch (JSONException e) { | |
System.err.println("The given file is not in the correct JSON format!"); | |
} catch (IOException e) { | |
System.err.println("Could not read the configuration file: " + e.getMessage()); | |
} catch (InterruptedException e) { | |
System.err.println("Error while starting the gossip service: " + e.getMessage()); | |
} | |
} else { | |
System.out.println("The gossip.conf file is not found.\n\nEither specify the path to the startup settings file or place the gossip.json file in the same folder as the JAR file."); | |
} | |
} | |
} |