Мне нужно переустановить экземпляр синглтон-компонента для всех ранее подключенных полей.
Я попытался удалить компонент из реестра в контексте приложения и заново зарегистрировать новый объект.
ConfigurableApplicationContext configContext = (ConfigurableApplicationContext)appContext;
SingletonBeanRegistry beanRegistry = configContext.getBeanFactory();
((DefaultListableBeanFactory) beanRegistry).destroySingleton("fbdProg");
((DefaultListableBeanFactory) beanRegistry).registerSingleton("fbdProg", program);
Работает только один раз, при первом вызове.
Проблема заключается в том, как переустановить компонент, чтобы сделать новый экземпляр доступным в других классах, где он автоматически подключен