@Override @Nullable public ClassLoader getClassLoader() { if (this.resourceLoader != null && !this.customClassLoader) { return this.resourceLoader.getClassLoader(); } return super.getClassLoader(); }
@Override @Nullable public ClassLoader getClassLoader() { if (this.resourceLoader != null && !this.customClassLoader) { return this.resourceLoader.getClassLoader(); } return super.getClassLoader(); }
/** * Reset Spring's common reflection metadata caches, in particular the * {@link ReflectionUtils}, {@link AnnotationUtils}, {@link ResolvableType} * and {@link CachedIntrospectionResults} caches. * @since 4.2 * @see ReflectionUtils#clearCache() * @see AnnotationUtils#clearCache() * @see ResolvableType#clearCache() * @see CachedIntrospectionResults#clearClassLoader(ClassLoader) */ protected void resetCommonCaches() { ReflectionUtils.clearCache(); AnnotationUtils.clearCache(); ResolvableType.clearCache(); CachedIntrospectionResults.clearClassLoader(getClassLoader()); }
/** * Reset Spring's common reflection metadata caches, in particular the * {@link ReflectionUtils}, {@link AnnotationUtils}, {@link ResolvableType} * and {@link CachedIntrospectionResults} caches. * @since 4.2 * @see ReflectionUtils#clearCache() * @see AnnotationUtils#clearCache() * @see ResolvableType#clearCache() * @see CachedIntrospectionResults#clearClassLoader(ClassLoader) */ protected void resetCommonCaches() { ReflectionUtils.clearCache(); AnnotationUtils.clearCache(); ResolvableType.clearCache(); CachedIntrospectionResults.clearClassLoader(getClassLoader()); }
beanFactory.setBeanClassLoader(getClassLoader()); beanFactory.setBeanExpressionResolver(new StandardBeanExpressionResolver(beanFactory.getBeanClassLoader())); beanFactory.addPropertyEditorRegistrar(new ResourceEditorRegistrar(this, getEnvironment()));
beanFactory.setBeanClassLoader(getClassLoader()); beanFactory.setBeanExpressionResolver(new StandardBeanExpressionResolver(beanFactory.getBeanClassLoader())); beanFactory.addPropertyEditorRegistrar(new ResourceEditorRegistrar(this, getEnvironment()));
@Override public ReactorHandler create(Api api) { if (api.isEnabled()) { AbstractApplicationContext internalApplicationContext = createApplicationContext(api); ApiReactorHandler handler = internalApplicationContext.getBean(ApiReactorHandler.class); handler.setClassLoader(internalApplicationContext.getClassLoader()); return handler; } else { logger.warn("Api is disabled !"); return null; } }
@Override @Nullable public ClassLoader getClassLoader() { if (this.resourceLoader != null && !this.customClassLoader) { return this.resourceLoader.getClassLoader(); } return super.getClassLoader(); }
private Object invokeExtractor(String partitionKeyExtractorClassName, Message<?> message) { if (this.applicationContext.containsBean(partitionKeyExtractorClassName)) { return this.applicationContext.getBean(partitionKeyExtractorClassName, PartitionKeyExtractorStrategy.class) .extractKey(message); } Class<?> clazz; try { clazz = ClassUtils.forName(partitionKeyExtractorClassName, this.applicationContext.getClassLoader()); } catch (Exception e) { logger.error("Failed to load key extractor", e); throw new MessageBusException("Failed to load key extractor: " + partitionKeyExtractorClassName, e); } try { Object extractor = clazz.newInstance(); Assert.isInstanceOf(PartitionKeyExtractorStrategy.class, extractor); this.applicationContext.getBeanFactory().registerSingleton(partitionKeyExtractorClassName, extractor); this.applicationContext.getBeanFactory().initializeBean(extractor, partitionKeyExtractorClassName); return ((PartitionKeyExtractorStrategy) extractor).extractKey(message); } catch (Exception e) { logger.error("Failed to instantiate key extractor", e); throw new MessageBusException("Failed to instantiate key extractor: " + partitionKeyExtractorClassName, e); } }
private int invokePartitionSelector(String partitionSelectorClassName, Object key, int partitionCount) { if (this.applicationContext.containsBean(partitionSelectorClassName)) { return this.applicationContext.getBean(partitionSelectorClassName, PartitionSelectorStrategy.class) .selectPartition(key, partitionCount); } Class<?> clazz; try { clazz = ClassUtils.forName(partitionSelectorClassName, this.applicationContext.getClassLoader()); } catch (Exception e) { logger.error("Failed to load partition selector", e); throw new MessageBusException("Failed to load partition selector: " + partitionSelectorClassName, e); } try { Object extractor = clazz.newInstance(); Assert.isInstanceOf(PartitionKeyExtractorStrategy.class, extractor); this.applicationContext.getBeanFactory().registerSingleton(partitionSelectorClassName, extractor); this.applicationContext.getBeanFactory().initializeBean(extractor, partitionSelectorClassName); return ((PartitionSelectorStrategy) extractor).selectPartition(key, partitionCount); } catch (Exception e) { logger.error("Failed to instantiate partition selector", e); throw new MessageBusException("Failed to instantiate partition selector: " + partitionSelectorClassName, e); } }
/** * Reset Spring's common reflection metadata caches, in particular the * {@link ReflectionUtils}, {@link AnnotationUtils}, {@link ResolvableType} * and {@link CachedIntrospectionResults} caches. * @since 4.2 * @see ReflectionUtils#clearCache() * @see AnnotationUtils#clearCache() * @see ResolvableType#clearCache() * @see CachedIntrospectionResults#clearClassLoader(ClassLoader) */ protected void resetCommonCaches() { ReflectionUtils.clearCache(); AnnotationUtils.clearCache(); ResolvableType.clearCache(); CachedIntrospectionResults.clearClassLoader(getClassLoader()); }
beanFactory.setBeanClassLoader(getClassLoader()); beanFactory.setBeanExpressionResolver(new StandardBeanExpressionResolver(beanFactory.getBeanClassLoader())); beanFactory.addPropertyEditorRegistrar(new ResourceEditorRegistrar(this, getEnvironment()));