我有一个 spring mvc 应用程序,它大量使用在请求范围中定义的 bean。现在我必须在这个范围之外使用这个应用程序的一部分(在 Magnolia CMS 中的一个 qwertz 作业中)。这当然行不通:
创建名为“requestHelper”的 bean 时出错:范围“请求”对当前线程不活动
我无法更改 bean 的范围,也无法更改代码。所以我唯一的可能性似乎是将当前线程的范围更改为请求范围模型。
我尝试了类似的东西
XmlWebApplicationContext context = (XmlWebApplicationContext) ApplicationContextProvider.getApplicationContext() ;
MockServletContext mockServletContext = new MockServletContext("/");
context.setServletContext(mockServletContext);
context.refresh();
但这仍然没有激活当前线程中的请求范围。我怎样才能做到这一点?