Jsf 在调度执行器中实例化请求范围的bean,而不使用任何HTTP请求

Jsf 在调度执行器中实例化请求范围的bean,而不使用任何HTTP请求,jsf,managed-bean,scheduledexecutorservice,Jsf,Managed Bean,Scheduledexecutorservice,在JSF2.2WebApp中,我有一个调度线程执行器服务,它定期执行一些代码,这些代码需要实例化一个请求范围的bean来执行一些任务。我如何在没有来自任何客户机的http请求的情况下实例化一个请求范围的bean,而是从应用程序范围的bean中实例化 当我尝试时: FacesContext.getCurrentInstance().getApplication().evaluateExpressionGet(context, "#{namesDirectory}", NamesDirectory.

在JSF2.2WebApp中,我有一个调度线程执行器服务,它定期执行一些代码,这些代码需要实例化一个请求范围的bean来执行一些任务。我如何在没有来自任何客户机的http请求的情况下实例化一个请求范围的bean,而是从应用程序范围的bean中实例化

当我尝试时:

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

NamesDirectory
是请求范围的bean时,我得到
NullPointerException
您不应该依赖托管bean来完成任务。托管bean(无论其范围如何)用于请求/响应周期,这是它们唯一的任务。任何业务逻辑都应该在服务类中处理,如EJB、CDI、SpringBean、来自另一个框架的Bean或作为服务层工作的普通Java类。

这听起来不对,您不应该将请求范围关联的Bean用于请求之外的逻辑