| package org.apache.s4.core.adapter; |
| |
| import java.io.File; |
| import java.io.FileInputStream; |
| |
| import org.apache.s4.core.Server; |
| import org.slf4j.Logger; |
| import org.slf4j.LoggerFactory; |
| |
| import com.beust.jcommander.JCommander; |
| import com.beust.jcommander.Parameter; |
| import com.beust.jcommander.Parameters; |
| import com.google.inject.Guice; |
| import com.google.inject.Injector; |
| |
| public class AdapterMain { |
| private static final Logger logger = LoggerFactory.getLogger(AdapterMain.class); |
| |
| public static void main(String[] args) { |
| |
| AdapterArgs adapterArgs = new AdapterArgs(); |
| JCommander jc = new JCommander(adapterArgs); |
| |
| try { |
| jc.parse(args); |
| } catch (Exception e) { |
| e.printStackTrace(); |
| jc.usage(); |
| } |
| |
| try { |
| Injector injector = Guice.createInjector(new AdapterModule(new FileInputStream(new File( |
| adapterArgs.s4PropertiesFilePath)))); |
| Server server = injector.getInstance(Server.class); |
| try { |
| server.start(injector); |
| } catch (Exception e) { |
| logger.error("Failed to start the controller.", e); |
| } |
| } catch (Exception e) { |
| e.printStackTrace(); |
| } |
| |
| } |
| |
| @Parameters(separators = "=") |
| static class AdapterArgs { |
| |
| @Parameter(names = "-s4Properties", description = "s4 properties file path", required = true) |
| String s4PropertiesFilePath; |
| } |
| |
| } |