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; }
kernelConfiguration.param(ITPlugin.IT_CLASS_NAME, getTestClass().getJavaClass().getName()); Kernel normalKernel = createKernel(kernelConfiguration); normalKernel.init(); normalKernel.start(); safeModeKernelConfiguration.param(ITPlugin.IT_CLASS_NAME, getTestClass().getJavaClass().getName()); Kernel safeKernel = createKernel(safeModeKernelConfiguration); safeKernel.init(); safeKernel.start();