@Test public void testRegisterTopology() { DirectProvider direct = new DirectProvider(); ApplicationService appService = AppService.createAndRegister(direct, direct); assertTrue(appService.getApplicationNames().isEmpty()); appService.registerTopology("FirstApp", (t,c) -> t.strings("a")); assertEquals(1, appService.getApplicationNames().size()); assertTrue(appService.getApplicationNames().contains("FirstApp")); appService.registerTopology("SecondApp", (t,c) -> t.strings("b")); assertEquals(2, appService.getApplicationNames().size()); assertTrue(appService.getApplicationNames().contains("FirstApp")); assertTrue(appService.getApplicationNames().contains("SecondApp")); }
@Test public void testRegisterJar() throws Exception { DirectProvider direct = new DirectProvider(); ApplicationService appService = AppService.createAndRegister(direct, direct); // Make sure the applications haven't been available before registering the jar. assertEquals(0, appService.getApplicationNames().size()); File testAppsJar = getServerJar(); assertNotNull(testAppsJar); assertTrue(testAppsJar.exists()); System.out.println("Using server jar at: " + testAppsJar.toString()); URL testAppsJarURL = testAppsJar.toURI().toURL(); appService.registerJar(testAppsJarURL.toExternalForm(), null); System.out.println(appService.getApplicationNames()); assertEquals(3, appService.getApplicationNames().size()); assertTrue(appService.getApplicationNames().contains("FirstJarApp")); assertTrue(appService.getApplicationNames().contains("SecondJarApp")); assertTrue(appService.getApplicationNames().contains("ThirdJarApp")); }
static void startMonitoredApplications(DirectSubmitter<Topology, Job> submitter) { ServiceContainer services = submitter.getServices(); ApplicationService appService = services.getService(ApplicationService.class); ControlService controlService = services.getService(ControlService.class); // Submit all applications registered with the ApplicationService for (String name: appService.getApplicationNames()) { JobMonitorApp.submitApplication(name, controlService); } } }