@Override public void stop() { try { if (this.scheduler != null) { this.scheduler.shutdown(); } } catch (SchedulerException e) { throw SeedException.wrap(e, SchedulerErrorCode.SCHEDULER_FAILED_TO_SHUTDOWN); } super.stop(); }
private KernelConfiguration buildKernelConfiguration(ServletContext servletContext) { KernelConfiguration kernelConfiguration = NuunCore.newKernelConfiguration(); Enumeration<?> initParameterNames = servletContext.getInitParameterNames(); while (initParameterNames.hasMoreElements()) { String parameterName = (String) initParameterNames.nextElement(); if (parameterName != null && !parameterName.isEmpty()) { String parameterValue = servletContext.getInitParameter(parameterName); kernelConfiguration.param(parameterName, parameterValue); } } return kernelConfiguration; }
private Kernel createKernel(ServletContext servletContext) { List<String> params = new ArrayList<String>(); Enumeration<?> initparams = servletContext.getInitParameterNames(); while (initparams.hasMoreElements()) { String keyName = (String) initparams.nextElement(); if (keyName != null && !keyName.isEmpty()) { String value = servletContext.getInitParameter(keyName); LOGGER.debug("Setting kernel parameter {} to {}", keyName, value); params.add(keyName); params.add(value); } } return NuunCore.createKernel(NuunCore.newKernelConfiguration().containerContext(servletContext).params(params.toArray(new String[params.size()]))); }
private synchronized Kernel createKernel(KernelConfiguration kernelConfiguration, DiagnosticManager diagnosticManager) { // Kernel instantiation Kernel kernel = NuunCore.createKernel(kernelConfiguration); FallbackUrlType fallbackUrlType = new FallbackUrlType(); List<Vfs.UrlType> urlTypes = new ArrayList<>(detectedUrlTypes); urlTypes.add(fallbackUrlType); LOGGER.debug("Registered URL types for classpath scan: " + urlTypes); // Kernel initialization (it is assumed that only this class alter Vfs default url types) Vfs.setDefaultURLTypes(urlTypes); kernel.init(); Vfs.setDefaultURLTypes(savedUrlTypes); // Log if any URL were not scanned int failedUrlCount = fallbackUrlType.getFailedUrls().size(); if (failedUrlCount > 0) { for (String failedUrl : fallbackUrlType.getFailedUrls()) { LOGGER.warn("URL not scanned: {}", failedUrl); } } diagnosticManager.registerDiagnosticInfoCollector("kernel", () -> { Map<String, Object> result = new HashMap<>(); result.put("scannedUrls", kernel.scannedURLs()); result.put("failedUrls", fallbackUrlType.getFailedUrls()); return result; }); return kernel; }
@Override public void start(Context context) { super.start(context); try { // Configure scheduler scheduler.setJobFactory(guiceTaskFactory); scheduler.getListenerManager().addJobListener(delegateJobListener); // Schedule declarative jobs (@Scheduled) scheduleJobs(); // Start scheduler scheduler.start(); } catch (Exception e) { throw SeedException.wrap(e, SchedulerErrorCode.SCHEDULER_FAILED_TO_START); } }
KernelConfiguration kernelConfiguration = NuunCore.newKernelConfiguration(); withoutSpiPluginsLoader(kernelConfiguration); withPlugins(kernelConfiguration); kernelConfiguration.param(ITPlugin.IT_CLASS_NAME, getTestClass().getJavaClass().getName()); Kernel normalKernel = createKernel(kernelConfiguration); normalKernel.init(); normalKernel.start(); safeModeException = e; try { KernelConfiguration safeModeKernelConfiguration = NuunCore.newKernelConfiguration(); safeModeKernelConfiguration.param(ITPlugin.IT_CLASS_NAME, getTestClass().getJavaClass().getName()); Kernel safeKernel = createKernel(safeModeKernelConfiguration); safeKernel.init(); safeKernel.start();
@Override public void launch(String[] args, Map<String, String> kernelParameters) { KernelConfiguration kernelConfiguration = NuunCore.newKernelConfiguration(); for (Map.Entry<String, String> kernelParameter : kernelParameters.entrySet()) { kernelConfiguration.param(kernelParameter.getKey(), kernelParameter.getValue()); } try { kernel = Seed.createKernel((CliContext) () -> args, kernelConfiguration, true); } catch (Exception e) { kernel = null; throw e; } }
public Kernel createKernel(SeedRuntime seedRuntime, KernelConfiguration kernelConfiguration, boolean autoStart) { long startTime = System.currentTimeMillis(); if (kernelConfiguration == null) { kernelConfiguration = NuunCore.newKernelConfiguration(); } kernelConfiguration.containerContext(seedRuntime); Kernel kernel = createKernel(kernelConfiguration, seedRuntime.getDiagnosticManager()); if (autoStart) { kernel.start(); LOGGER.info("{} started in {} second(s)", getApplicationName(kernel), (System.currentTimeMillis() - startTime) / 1000d); } return kernel; }
@SuppressWarnings("unchecked") private KernelConfiguration buildKernelConfiguration(SeedTool seedTool, Map<String, String> kernelParameters) { KernelConfiguration kernelConfiguration = NuunCore.newKernelConfiguration(); for (Map.Entry<String, String> kernelParameter : kernelParameters.entrySet()) { kernelConfiguration.param(kernelParameter.getKey(), kernelParameter.getValue()); } if (seedTool.startMode() == SeedTool.StartMode.MINIMAL) { kernelConfiguration .param(CorePlugin.AUTODETECT_MODULES_KERNEL_PARAM, "false") .param(CorePlugin.AUTODETECT_BINDINGS_KERNEL_PARAM, "false") .withoutSpiPluginsLoader(); } kernelConfiguration.addPlugin(seedTool.getClass()); seedTool.pluginsToLoad().forEach( pluginClass -> kernelConfiguration.addPlugin((Class<? extends Plugin>) pluginClass)); return kernelConfiguration; }
int execute(String cliCommand, CliContext cliContext, Map<String, String> kernelParameters) throws Exception { if (launched.compareAndSet(false, true)) { KernelConfiguration kernelConfiguration = NuunCore.newKernelConfiguration(); for (Map.Entry<String, String> kernelParameter : kernelParameters.entrySet()) { kernelConfiguration.param(kernelParameter.getKey(), kernelParameter.getValue()); } kernel = Seed.createKernel(cliContext, kernelConfiguration, true); CommandLineHandler cliHandler; try { cliHandler = kernel.objectGraph() .as(Injector.class) .getInstance(Key.get(CommandLineHandler.class, Names.named(cliCommand))); LOGGER.info("Executing CLI command {}, handled by {}", cliCommand, cliHandler.getClass().getCanonicalName()); } catch (ConfigurationException e) { throw SeedException.wrap(e, CliErrorCode.COMMAND_LINE_HANDLER_NOT_FOUND) .put("commandLineHandler", cliCommand); } return cliHandler.call(); } else { throw SeedException.createNew(CliErrorCode.COMMAND_LINE_HANDLER_ALREADY_RUN); } } }