Использование CDI в шаблоне синглтона

Я пытаюсь внедрить объект регистратора в класс, который реализован с использованием одноэлементного подхода.

Код выглядит примерно так:

Logger класс:

public class LoggerFactory {
    @Produces 
    public Logger getLogger(InjectionPoint caller){
        return Logger.getLogger(caller.getMember().getDeclaringClass().getName());
    }
}

Затем я создаю класс, который нуждается в регистраторе и реализует шаблон Singleton:

public class MySingleton{
    @Inject
    private Logger logger;

    private MySingleton instance;

    /*
     * Private constructor for singleton implementation
     */
    private MySingleton(){
        logger.info("Creating one and only one instance here!");
    }

    public MySingleton getInstance(){

        if(instance == null) {
            instance = new MySingleton();
        }

        return instance;
    }

}

Если я запускаю код (на Glassfish 3.1.2.2), я получаю NPE, как только я пытаюсь использовать регистратор. Что я делаю не так (beans.xml файл на месте)? Я также пытался использовать@Inject с методом сеттера дляLogger объект, но без удачи.

Ответы на вопрос(2)

Ваш ответ на вопрос