Advertisement
Guest User

Untitled

a guest
Aug 21st, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. import javax.annotation.PostConstruct;
  2.  
  3. import org.slf4j.Logger;
  4. import org.slf4j.LoggerFactory;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.beans.factory.support.BeanDefinitionRegistry;
  7. import org.springframework.context.ApplicationContext;
  8. import org.springframework.stereotype.Component;
  9.  
  10. /**
  11. * Removes the specified beans from spring context.
  12. *
  13. * @author banterCZ
  14. */
  15. @Component
  16. public class BeanRemover {
  17.  
  18. private static final Logger logger = LoggerFactory.getLogger(BeanRemover.class);
  19.  
  20. @Autowired
  21. private ApplicationContext ctx;
  22.  
  23. @PostConstruct
  24. public void unregisterBeans () {
  25. //TODO replace bean lookup whatever you want
  26. final String[] beanNames = ctx.getBeanNamesForType(BeanToRemove.class);
  27. BeanDefinitionRegistry registry = (BeanDefinitionRegistry) ctx.getAutowireCapableBeanFactory();
  28. for (String beanName : beanNames) {
  29. logger.debug("Going to unregister bean '{}'", beanName);
  30. registry.removeBeanDefinition(beanName);
  31. logger.info("Unregistered bean '{}'", beanName);
  32. }
  33. }
  34.  
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement