2014-03-19 5 views
2

Так что я пытаюсь создать задачу, которая выстреливает через регулярные промежутки времени, и я хочу, чтобы получить некоторые вещи из ServletContext:Когда я пишу startupbean (@Singleton @Startup @PostConstruct), все равно для меня получить ServletContext?

... 
@Singleton 
@Startup 
public class InitTimers { 
    @Resource 
    private TimerService timerService; 

    @PostConstruct 
    public void initTimer() { 
     ... 
     // I want ServletContext here, how do I? 
     ServletContext context = getServletContext(); 
     ... 
    } 

    @Timeout 
    public void timeout(Timer timer) { 
     ... 
    } 
} 

Может ли EJB 3,1 @Startup @Singleton доступ к ServletContext?

ответ

2

Нет, это невозможно. Я рекомендую переместить логику в контекст ServletContextListenerInitialized, а затем вызвать singleton для работы при запуске по мере необходимости.