Как мне вызвать другой бин Singleton из бина Singleton? - PullRequest
0 голосов
/ 28 октября 2010

Я попытался поместить удаленный интерфейс другого компонента Singleton в другой. Однако удаленный объект всегда будет нулевым. Есть ли другой способ, которым я мог бы обойти это?

@Singleton
public class SingletonBean1 implements SingletonBean1Remote {

    @EJB
    SingletonBean2Remote singletonBean2Remote;

    ...

    public SingletonBean1() {
        ...

        singletonBean2Remote.anyMethod(); // returns NullPointerException

        ...
    }

}

Ответы [ 2 ]

0 голосов
/ 19 мая 2011

Я знаю, что это старый вопрос, но внедрение зависимости происходит ПОСЛЕ завершения конструктора.Таким образом, в приведенном выше примере bean всегда будет нулевым в конструкторе

0 голосов
/ 28 октября 2010

Тот факт, что это Синглтон, не имеет значения. Вы должны инициализировать эту ссылку, чтобы указывать на что-то кроме нуля. Как написано, это именно то, что должно произойти.

Метод, который создает singleton # 1, должен получить ссылку на singleton # 2.

...