postProcessBeanDefinitionRegistry method
Adds, removes or replaces definitions in registry. Runs before every
BeanFactoryPostProcessor.postProcessBeanFactory, this processor's
own included.
Implementation
@override
void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) {
final definitions = <String, BeanDefinition<Object>>{
for (final name in registry.beanDefinitionNames)
if (_isApplication(registry.getBeanDefinition(name)))
name: registry.getBeanDefinition(name),
};
final kept = keptNames(definitions);
final removed =
definitions.keys.where((name) => !kept.contains(name)).toList()
..forEach(registry.removeBeanDefinition);
_log.debug(
() =>
'Data slice: ${kept.length} beans of the application kept, '
'${removed.length} left out: ${removed.join(', ')}',
);
}