/** sets the executor service used for scanning to ThreadPoolExecutor with core size as {@link java.lang.Runtime#availableProcessors()} * <p>default is ThreadPoolExecutor with a single core */ public ConfigurationBuilder useParallelExecutor() { return useParallelExecutor(Runtime.getRuntime().availableProcessors()); }
/** sets the executor service used for scanning to ThreadPoolExecutor with core size as {@link java.lang.Runtime#availableProcessors()} * <p>default is ThreadPoolExecutor with a single core */ public ConfigurationBuilder useParallelExecutor() { return useParallelExecutor(Runtime.getRuntime().availableProcessors()); }
@Test public void testNoDefaultEncoding() throws Exception { final Reflections reflections = new Reflections(new ConfigurationBuilder() .useParallelExecutor(Runtime.getRuntime().availableProcessors()) .addUrls(ClasspathHelper.forPackage("org.apache.flink")) .addScanners(new MemberUsageScanner())); for (ForbiddenCall forbiddenCall : forbiddenCalls) { final Set<Member> methodUsages = forbiddenCall.getUsages(reflections); methodUsages.removeAll(forbiddenCall.getExclusions()); assertEquals("Unexpected calls: " + methodUsages, 0, methodUsages.size()); } } }
/** sets the executor service used for scanning to ThreadPoolExecutor with core size as {@link java.lang.Runtime#availableProcessors()} * <p>default is ThreadPoolExecutor with a single core */ public ConfigurationBuilder useParallelExecutor() { return useParallelExecutor(Runtime.getRuntime().availableProcessors()); }
/** sets the executor service used for scanning to ThreadPoolExecutor with core size as {@link java.lang.Runtime#availableProcessors()} * <p>default is ThreadPoolExecutor with a single core */ public ConfigurationBuilder useParallelExecutor() { return useParallelExecutor(Runtime.getRuntime().availableProcessors()); }
public ConfigurationBuilder useParallelExecutor() { return useParallelExecutor(Runtime.getRuntime().availableProcessors()); }
@Override public void scan() throws IOException { if (_logger.isLoggable(Level.INFO)) { StringBuilder builder = new StringBuilder(); builder.append("Using Root-Path for Classpath scanning:").append(LINE_SEPARATOR); for (URL url : classPath) { builder.append(url.toString()).append(LINE_SEPARATOR); } _logger.log(Level.INFO, builder.toString()); } new Reflections(new ConfigurationBuilder().setScanners(new AnnotationScanner()) .filterInputsBy(new Predicate<String>() { @Override public boolean apply(String input) { return matches(input); } }).setUrls(classPath).useParallelExecutor()); }
private ConfigurationBuilder createConfigurationBuilder() { final ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); configurationBuilder.setUrls(ClasspathHelper.forJavaClassPath()); if (parallelExecutors) return configurationBuilder.useParallelExecutor(); else return configurationBuilder; }
private void scanConceptsWithReflections() throws ObjectStoreConfigException { logger.debug("Search for concepts with reflections"); Set<URL> classpath = new HashSet<>(); classpath.addAll(ClasspathHelper.forClassLoader()); classpath.addAll(ClasspathHelper.forJavaClassPath()); classpath.addAll(ClasspathHelper.forManifest()); classpath.addAll(ClasspathHelper.forPackage("")); Reflections reflections = new Reflections(new ConfigurationBuilder() .setUrls(classpath) .useParallelExecutor() .filterInputsBy(FilterBuilder.parsePackages("-java, -javax, -sun, -com.sun")) .setScanners(new SubTypesScanner(), new TypeAnnotationsScanner())); Set<Class<?>> annotated = reflections.getTypesAnnotatedWith(Iri.class, true); logger.debug("Search for concepts with reflections resulted in " + annotated.size() + " classes"); for (Class clazz : annotated) { logger.debug("Found concept class: " + clazz.getCanonicalName()); roleMapper.addConcept(clazz); } }
@Override public void scan() throws IOException { Set<URL> urls = new LinkedHashSet<URL>(); for (String p : _packages) { urls.addAll(ClasspathHelper.getUrlsForPackagePrefix(p)); } new Reflections(new ConfigurationBuilder().setScanners(new AnnotationScanner()) .filterInputsBy(new Predicate<String>() { @Override public boolean apply(String input) { return matches(input); } }).setUrls(urls).useParallelExecutor()); }
.useParallelExecutor() .filterInputsBy(FilterBuilder.parsePackages("-java, -javax, -sun, -com.sun")) .setScanners(new SubTypesScanner(), new TypeAnnotationsScanner(), new MethodAnnotationsScanner(), new FieldAnnotationsScanner()));
private PluginScanResult scanPluginPath( ClassLoader loader, URL[] urls ) throws InstantiationException, IllegalAccessException { ConfigurationBuilder builder = new ConfigurationBuilder(); builder.setClassLoaders(new ClassLoader[]{loader}); builder.addUrls(urls); builder.setScanners(new SubTypesScanner()); builder.useParallelExecutor(); Reflections reflections = new InternalReflections(builder); return new PluginScanResult( getPluginDesc(reflections, Connector.class, loader), getPluginDesc(reflections, Converter.class, loader), getPluginDesc(reflections, HeaderConverter.class, loader), getPluginDesc(reflections, Transformation.class, loader), getServiceLoaderPluginDesc(ConfigProvider.class, loader), getServiceLoaderPluginDesc(ConnectRestExtension.class, loader) ); }