@Override public void onRefresh(Configuration configuration) throws BeansException { super.onRefresh(configuration); if (!useDNS()) { return; } SingletonBeanRegistry br = configuration.getBeanFactory(); try { br.registerSingleton("DNSMap", getDnsMap()); br.registerSingleton("NICUsage", getNicUsage()); br.registerSingleton("SelfLocator", getSelfLocator()); } catch (ConfigException e) { throw new FatalBeanException("ApplicationInformation initialization failed", e); } }
public static void registerSingleton(ApplicationContext applicationContext, String beanName, Object singletonObject) { AutowireCapableBeanFactory beanFactory = applicationContext.getAutowireCapableBeanFactory(); if (!SingletonBeanRegistry.class.isAssignableFrom(beanFactory.getClass())) { throw new IllegalArgumentException( "ApplicationContext: " + applicationContext.getClass().toString() + " doesn't implements SingletonBeanRegistry, cannot register JMS connection at runtime"); } SingletonBeanRegistry beanDefinitionRegistry = (SingletonBeanRegistry) beanFactory; beanDefinitionRegistry.registerSingleton(beanName, singletonObject); }
public static void registerSingleton(BeanDefinitionRegistry registry, String beanName, Object singletonObject) { if (!SingletonBeanRegistry.class.isAssignableFrom(registry.getClass())) { throw new IllegalArgumentException( "BeanDefinitionRegistry: " + registry.getClass().toString() + " doesn't implements SingletonBeanRegistry, cannot register JMS connection at runtime"); } SingletonBeanRegistry beanDefinitionRegistry = (SingletonBeanRegistry) registry; beanDefinitionRegistry.registerSingleton(beanName, singletonObject); }
/** * {@inheritDoc} * @see org.apache.kafka.streams.processor.ProcessorSupplier#get() */ @Override public Processor<K, V> get() { final AbstractStreamedMetricProcessor<K,V> processor = getProcessor(topicSink, sources); startedProcessors.add(processor); final String processorBeanName = processor.getClass().getSimpleName() + "#" + processor.getInstanceId(); processor.setBeanName(processorBeanName); ((SingletonBeanRegistry)appCtx.getAutowireCapableBeanFactory()).registerSingleton(processorBeanName, processor); appCtx.getAutowireCapableBeanFactory().autowireBean(processor); return processor; }
@Override protected void registerBeanDefinition(BeanDefinitionHolder definitionHolder, BeanDefinitionRegistry registry) { if (registry instanceof SingletonBeanRegistry) { SingletonBeanRegistry beanRegistry = (SingletonBeanRegistry)registry; beanRegistry.registerSingleton(definitionHolder.getBeanName(), apiClientFactory.create(ClassUtils.resolveClassName(definitionHolder.getBeanDefinition().getBeanClassName(), null))); } }
/***** * 获取SingletonBeanRegistry * @param applicationContext * @return */ public static SingletonBeanRegistry getSingletonBeanRegistry(Object applicationContext){ Object bf = applicationContext; if(applicationContext instanceof AbstractApplicationContext){ bf = ((AbstractApplicationContext)applicationContext).getBeanFactory(); } if(bf==null || !SingletonBeanRegistry.class.isInstance(bf)){ return null; } SingletonBeanRegistry sbr = (SingletonBeanRegistry) bf; return sbr; }
/** * Defines the mocks to be added as beans to the server's Spring context. * They will also be recorded in the registry so that they can be reached with an @Mocked field in a UI Test. */ public void createMockBeans(Class... beanClasses) { AutowireCapableBeanFactory beanFactory = applicationContext.getAutowireCapableBeanFactory(); SingletonBeanRegistry registry = (SingletonBeanRegistry) beanFactory; for (Class aClass : beanClasses) { Object mockBean = easyMockSupport.createMock(aClass); registry.registerSingleton("test" + aClass.getSimpleName(), mockBean); addSingletonMock(mockBean); } }
private void registerObjectInSpring(RepoService mock) { // do some magic to replace registered repoService singleton with mocked version. SingletonBeanRegistry beanRegistry = context.getBeanFactory(); ((org.springframework.beans.factory.support.DefaultSingletonBeanRegistry) beanRegistry).destroySingleton(REPO_SVC_BEAN_NAME); beanRegistry.registerSingleton(REPO_SVC_BEAN_NAME, mock); }