@Override public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) { Map<String, Object> attributes = importingClassMetadata.getAnnotationAttributes("org.axonframework.springboot.util.RegisterDefaultEntities"); String[] packages = (String[]) attributes.get("packages"); AutoConfigurationPackages.register(registry, packages); } }
@Override public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) { AutoConfigurationPackages.register(registry, EventPublication.class.getPackage().getName()); } }
@Override public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) { Map<String, Object> attributes = importingClassMetadata.getAnnotationAttributes("org.axonframework.springboot.util.RegisterDefaultEntities"); String[] packages = (String[]) attributes.get("packages"); AutoConfigurationPackages.register(registry, packages); } }
@Override public void registerBeanDefinitions( AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry ) { val autoConfigurationPackage = ( (HierarchicalBeanFactory) registry ).getParentBeanFactory().getBean( ApplicationAutoConfigurationPackage.class ); LOG.info( "Registering AutoConfigurationPackage {}", autoConfigurationPackage.getApplicationModulePackage() ); AutoConfigurationPackages.register( registry, autoConfigurationPackage.getApplicationModulePackage() ); } }
@Override public void registerBeanDefinitions( AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry ) { if ( !registry.containsBeanDefinition( BEAN ) ) { AutoConfigurationPackages.register( registry ); } BeanDefinition beanDefinition = registry.getBeanDefinition( BEAN ); ConstructorArgumentValues constructorArguments = beanDefinition.getConstructorArgumentValues(); String[] existing = (String[]) constructorArguments.getIndexedArgumentValue( 0, String[].class ).getValue(); if ( existing.length > 0 ) { applicationModulePackage = existing[0] + ".application"; LOG.info( "Disabling @AutoConfigurationPackage on the root package - Across applications support only the application module" ); constructorArguments.addIndexedArgumentValue( 0, new String[0] ); AcrossDynamicModulesConfiguration.verifyNoConflictingComponentScans( importingClassMetadata, existing[0] ); } if ( registry instanceof BeanFactory ) { LOG.trace( "Eager instantiation of AutoConfigurationPackages singleton" ); AutoConfigurationPackages.get( (BeanFactory) registry ); } SingletonBeanRegistry singletonBeanRegistry = (SingletonBeanRegistry) registry; if ( !singletonBeanRegistry.containsSingleton( ApplicationAutoConfigurationPackage.class.getName() ) ) { singletonBeanRegistry.registerSingleton( ApplicationAutoConfigurationPackage.class.getName(), this ); } } }
@Override public void initialize(GenericApplicationContext context) { DefaultListableBeanFactory beanFactory = context.getDefaultListableBeanFactory(); if (beanFactory != null) { if (!(beanFactory .getDependencyComparator() instanceof AnnotationAwareOrderComparator)) { beanFactory .setDependencyComparator(AnnotationAwareOrderComparator.INSTANCE); } // N.B. ContextAnnotationAutowireCandidateResolver is normal, but that's more expensive // (checks for @Lazy) if (!(beanFactory .getAutowireCandidateResolver() instanceof QualifierAnnotationAutowireCandidateResolver)) { beanFactory.setAutowireCandidateResolver( new QualifierAnnotationAutowireCandidateResolver()); } beanFactory.addBeanPostProcessor( beanFactory.createBean(AutowiredAnnotationBeanPostProcessor.class)); } AutoConfigurationPackages.register(context, ClassUtils.getPackageName(getClass())); context.registerBean(ConfigurationPropertiesBindingPostProcessor.class); context.registerBean(ConfigurationBeanFactoryMetadata.BEAN_NAME, ConfigurationBeanFactoryMetadata.class); context.addBeanFactoryPostProcessor(new AutoConfigurations(context)); context.registerBean(AutoApplication.class, () -> this); }