private SamzaSqlApplicationRunner(SamzaApplication app, Boolean localRunner, Config config) { this.runner = ApplicationRunners.getApplicationRunner(app, computeSamzaConfigs(localRunner, config)); }
/** * Get the {@link ApplicationRunner} that runs the {@code userApp} * * @param userApp the user application object * @param config the configuration for this application * @return the {@link ApplicationRunner} object that will run the {@code userApp} */ public static final ApplicationRunner getApplicationRunner(SamzaApplication userApp, Config config) { String appRunnerClassName = getAppRunnerClass(config); try { Class<?> runnerClass = Class.forName(appRunnerClassName); if (!ApplicationRunner.class.isAssignableFrom(runnerClass)) { throw new ConfigException( String.format("Class %s does not extend ApplicationRunner properly", appRunnerClassName)); } Constructor<?> constructor = runnerClass.getConstructor(SamzaApplication.class, Config.class); // *sigh* return (ApplicationRunner) constructor.newInstance(userApp, config); } catch (ConfigException ce) { // this is thrown due to invalid app.runner.class configuration throw ce; } catch (Exception e) { // other types of exception during class loading and construction of new instance throw new ConfigException(String.format("Could not load ApplicationRunner class %s", appRunnerClassName), e); } }
private SamzaSqlApplicationRunner(SamzaApplication app, Boolean localRunner, Config config) { this.runner = ApplicationRunners.getApplicationRunner(app, computeSamzaConfigs(localRunner, config)); }
/** * Get the {@link ApplicationRunner} that runs the {@code userApp} * * @param userApp the user application object * @param config the configuration for this application * @return the {@link ApplicationRunner} object that will run the {@code userApp} */ public static final ApplicationRunner getApplicationRunner(SamzaApplication userApp, Config config) { String appRunnerClassName = getAppRunnerClass(config); try { Class<?> runnerClass = Class.forName(appRunnerClassName); if (!ApplicationRunner.class.isAssignableFrom(runnerClass)) { throw new ConfigException( String.format("Class %s does not extend ApplicationRunner properly", appRunnerClassName)); } Constructor<?> constructor = runnerClass.getConstructor(SamzaApplication.class, Config.class); // *sigh* return (ApplicationRunner) constructor.newInstance(userApp, config); } catch (ConfigException ce) { // this is thrown due to invalid app.runner.class configuration throw ce; } catch (Exception e) { // other types of exception during class loading and construction of new instance throw new ConfigException(String.format("Could not load ApplicationRunner class %s", appRunnerClassName), e); } }
@Test public void testGetAppRunner() { Map<String, String> configMap = new HashMap<>(); configMap.put("app.runner.class", MockApplicationRunner.class.getName()); Config config = new MapConfig(configMap); StreamApplication app = mock(StreamApplication.class); ApplicationRunner appRunner = ApplicationRunners.getApplicationRunner(app, config); assertTrue(appRunner instanceof MockApplicationRunner); }
public static void main(String[] args) throws Exception { ApplicationRunnerCommandLine cmdLine = new ApplicationRunnerCommandLine(); OptionSet options = cmdLine.parser().parse(args); Config orgConfig = cmdLine.loadConfig(options); Config config = Util.rewriteConfig(orgConfig); ApplicationRunnerOperation op = cmdLine.getOperation(options); ApplicationRunner appRunner = ApplicationRunners.getApplicationRunner(ApplicationUtil.fromConfig(config), config); switch (op) { case RUN: appRunner.run(null); break; case KILL: appRunner.kill(); break; case STATUS: System.out.println(appRunner.status()); break; default: throw new IllegalArgumentException("Unrecognized operation: " + op); } } }
public static void main(String[] args) throws Exception { ApplicationRunnerCommandLine cmdLine = new ApplicationRunnerCommandLine(); OptionSet options = cmdLine.parser().parse(args); Config orgConfig = cmdLine.loadConfig(options); Config config = Util.rewriteConfig(orgConfig); ApplicationRunnerOperation op = cmdLine.getOperation(options); ApplicationRunner appRunner = ApplicationRunners.getApplicationRunner(ApplicationUtil.fromConfig(config), config); switch (op) { case RUN: appRunner.run(); break; case KILL: appRunner.kill(); break; case STATUS: System.out.println(appRunner.status()); break; default: throw new IllegalArgumentException("Unrecognized operation: " + op); } } }
public static void main(String[] args) throws Exception { ApplicationRunnerCommandLine cmdLine = new ApplicationRunnerCommandLine(); OptionSet options = cmdLine.parser().parse(args); Config orgConfig = cmdLine.loadConfig(options); Config config = Util.rewriteConfig(orgConfig); ApplicationRunnerOperation op = cmdLine.getOperation(options); ApplicationRunner appRunner = ApplicationRunners.getApplicationRunner(ApplicationUtil.fromConfig(config), config); switch (op) { case RUN: appRunner.run(); break; case KILL: appRunner.kill(); break; case STATUS: System.out.println(appRunner.status()); break; default: throw new IllegalArgumentException("Unrecognized operation: " + op); } } }
public static void main(String[] args) throws Exception { ApplicationRunnerCommandLine cmdLine = new ApplicationRunnerCommandLine(); OptionSet options = cmdLine.parser().parse(args); Config orgConfig = cmdLine.loadConfig(options); Config config = Util.rewriteConfig(orgConfig); ApplicationRunnerOperation op = cmdLine.getOperation(options); ApplicationRunner appRunner = ApplicationRunners.getApplicationRunner(ApplicationUtil.fromConfig(config), config); switch (op) { case RUN: appRunner.run(); break; case KILL: appRunner.kill(); break; case STATUS: System.out.println(appRunner.status()); break; default: throw new IllegalArgumentException("Unrecognized operation: " + op); } } }
public static void main(String[] args) throws Exception { ApplicationRunnerCommandLine cmdLine = new ApplicationRunnerCommandLine(); OptionSet options = cmdLine.parser().parse(args); Config orgConfig = cmdLine.loadConfig(options); Config config = Util.rewriteConfig(orgConfig); ApplicationRunnerOperation op = cmdLine.getOperation(options); ApplicationRunner appRunner = ApplicationRunners.getApplicationRunner(ApplicationUtil.fromConfig(config), config); switch (op) { case RUN: appRunner.run(); break; case KILL: appRunner.kill(); break; case STATUS: System.out.println(appRunner.status()); break; default: throw new IllegalArgumentException("Unrecognized operation: " + op); } } }