Thursday, July 9, 2020

Dynamic handling Spring Flow


Dynamically create your own BeanDefinition

BeanDefinitionRegistryPostProcessor has a hook on the BeanDefinitionRegistry

@Component
public class DynamicRegistryPostProcessor
        implements BeanDefinitionRegistryPostProcessor {

    @Override
    public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry)
            throws BeansException {

        RootBeanDefinition beanDefinition =
                new RootBeanDefinition(MyServiceImpl.class); 
        serviceDefinition.setTargetType(MyService.class); 
        serviceDefinition.setRole(BeanDefinition.ROLE_APPLICATION);
        registry.registerBeanDefinition("myBeanName", beanDefinition );
    }
}

No comments:

Post a Comment