2014-06-10 6 views
1

JSF 2.2 웹 애플리케이션에서 일부 태스크를 수행하기 위해 요청 범위 Bean을 인스턴스화해야하는 일부 코드를 주기적으로 실행하는 스케줄 된 스레드 실행 서비스가 있습니다. 어떤 클라이언트로부터도 http 요청없이 요청 스코프 된 빈을 인스턴스화하는 방법은 무엇입니까?HTTP 요청없이 예약 된 실행자에서 요청 범위 Bean을 인스턴스화하십시오.

내가하려고하면 : NamesDirectory는 요청이 빈을 범위입니다

FacesContext.getCurrentInstance().getApplication().evaluateExpressionGet(context, "#{namesDirectory}", NamesDirectory.class) 

, 나는 당신이 작업에 대한 관리 빈에 의존해서는 안 NullPointerException

+1

나에게 소리가 나지 않는다면 요청 범위 외의 로직에 요청 범위 관련 빈을 사용하면 안됩니다. –

답변

1

를 얻을. 관리 범위는 요청/응답주기에 사용되며 그 범위는 이며 유일한 작업은입니다. 모든 비즈니스 로직은 EJB, CDI, Spring bean, 다른 프레임 워크의 Bean 또는 서비스 계층으로 작동하는 일반 Java 클래스와 같은 서비스 클래스에서 처리되어야합니다.