/** * Create a new class loader for the jar and register any * topology application that is registered as a service provider. */ @Override public void registerJar(String jarURL, String jsonConfig) throws Exception { logger.trace("Register jar: {}", jarURL); // If it's a http URL download it otherwise use directly. URL url = new URL(jarURL); String protocol = url.getProtocol(); if ("http".equals(protocol) || "https".equals(protocol)) { url = downloadJar(url); } URLClassLoader loader = new URLClassLoader(new URL[] {url}); for (TopologyBuilder topoBuilder : ServiceLoader.load(TopologyBuilder.class, loader)) { registerTopology(topoBuilder.getName(), topoBuilder.getBuilder()); } }
/** * Create a new class loader for the jar and register any * topology application that is registered as a service provider. */ @Override public void registerJar(String jarURL, String jsonConfig) throws Exception { logger.trace("Register jar: {}", jarURL); // If it's a http URL download it otherwise use directly. URL url = new URL(jarURL); String protocol = url.getProtocol(); if ("http".equals(protocol) || "https".equals(protocol)) { url = downloadJar(url); } URLClassLoader loader = new URLClassLoader(new URL[] {url}); for (TopologyBuilder topoBuilder : ServiceLoader.load(TopologyBuilder.class, loader)) { registerTopology(topoBuilder.getName(), topoBuilder.getBuilder()); } }