Я пытаюсь добавить новый компонент Spring в один из моих проектов. Бин определяется и создается в другом пакете следующим образом:
@Configuration
public class UtilityBeans {
public static String MY_BEAN_NAME = "my.bean.name";
@Bean(name = MY_BEAN_NAME)
public MyUtilBeanClass getMyBeanClass() {
return new MyUtilBeanClass();
}
}
Я использую его в своем другом пакете следующим образом:
@Configuration
@Import({
UtilityBeans.class
)}
...
@Resource(name = UtilityBeans.MY_BEAN_NAME)
private MyUtilBeanClass myUtilBeans;
Во время выполнения я получаю:
ОШИБКА Вызвано: org.springframework.beans.factory.BeanCreationNotAllowedException: ошибка при создании bean-компонента с именем «my.bean.name»: создание одноэлементного bean-компонента не разрешено, пока синглтоны этой фабрики находятся в уничтожении (не запрашивайте bean-компонент из BeanFactory в реализации метода уничтожения!)...
Журналы не дают мне никакой полезной информации, поскольку трассировка стека находится в библиотеке Spring. Как я могу узнать, что не удалось? Это неправильное использование ресурса или неправильное создание самого компонента?
Я использую Spring-4 с JDK8.