//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public void postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory) throws org.springframework.beans.BeansException public virtual void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) { if (beanFactory is BeanDefinitionRegistry) { BeanDefinitionRegistry registry = (BeanDefinitionRegistry)beanFactory; configureDefaultActivitiRegistry(ActivitiContextUtils.ACTIVITI_REGISTRY_BEAN_NAME, registry); } else { log.info("BeanFactory is not a BeanDefinitionRegistry. The default '" + ActivitiContextUtils.ACTIVITI_REGISTRY_BEAN_NAME + "' cannot be configured."); } }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public void postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory) throws org.springframework.beans.BeansException public virtual void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) { beanFactory.registerScope(ProcessScope.PROCESS_SCOPE_NAME, this); Assert.isInstanceOf(typeof(BeanDefinitionRegistry), beanFactory, "BeanFactory was not a BeanDefinitionRegistry, so ProcessScope cannot be used."); BeanDefinitionRegistry registry = (BeanDefinitionRegistry)beanFactory; foreach (string beanName in beanFactory.BeanDefinitionNames) { BeanDefinition definition = beanFactory.getBeanDefinition(beanName); // Replace this or any of its inner beans with scoped proxy if it has this scope bool scoped = PROCESS_SCOPE_NAME.Equals(definition.Scope); Scopifier scopifier = new Scopifier(registry, PROCESS_SCOPE_NAME, proxyTargetClass, scoped); scopifier.visitBeanDefinition(definition); if (scoped) { Scopifier.createScopedProxy(beanName, definition, registry, proxyTargetClass); } } beanFactory.registerSingleton(ProcessScope.PROCESS_SCOPE_PROCESS_VARIABLES_SINGLETON, this.processVariablesMap); beanFactory.registerResolvableDependency(typeof(ProcessInstance), createSharedProcessInstance()); }
/// <summary> /// copy & paste, just so we can insert our own visitor. /// 启动时 进行配置的解析 /// </summary> //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: protected void processProperties(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactoryToProcess, java.util.Properties props) throws org.springframework.beans.BeansException protected internal virtual void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) { BeanDefinitionVisitor visitor = new ReloadingPropertyPlaceholderConfigurer.PlaceholderResolvingBeanDefinitionVisitor(this, props); string[] beanNames = beanFactoryToProcess.BeanDefinitionNames; for (int i = 0; i < beanNames.Length; i++) { // Check that we're not parsing our own bean definition, // to avoid failing on unresolvable placeholders in net.unicon.iamlabs.spring.properties.example.net // .unicon.iamlabs.spring.properties file locations. if (!(beanNames[i].Equals(this.beanName) && beanFactoryToProcess.Equals(this.beanFactory))) { this.currentBeanName = beanNames[i]; try { BeanDefinition bd = beanFactoryToProcess.getBeanDefinition(beanNames[i]); try { visitor.visitBeanDefinition(bd); } catch (BeanDefinitionStoreException ex) { throw new BeanDefinitionStoreException(bd.ResourceDescription, beanNames[i], ex.Message); } } finally { currentBeanName = null; } } } }
/// <summary> /// 这个函数无法达到最高优先级,例如PropertyPlaceholderConfigurer /// </summary> //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: @Override public void postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory) throws org.springframework.beans.BeansException public override void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) { }