我的公司有一个使用Spring WebFlow 2.4.0开发的应用程序。流程是一个应用程序进程,应用程序对象位于FlowScope中。
当HTTP会话超时时,我想访问该应用程序对象,对其进行一些修改,并将其持久保存到我们的数据库中。我的问题是,我似乎无法找到一个允许我在HTTP会话超时时访问FlowScope的钩子。
我们定义了一个HttpSessionListener,它可以让我访问会话。由于webflow在会话中保留了它的数据,似乎有可能从HttpSession对象访问FlowScope?这是真的,如果是这样的话:
注意:我确实尝试使用FlowExecutionListener的sessionEnding钩子,希望在HttpSession上销毁,webflow会优雅地关闭并结束流程会话,但事实并非如此。
任何提示或指导都将非常感谢!如果这是一个愚蠢的问题,请提前道歉。我绝不是一个webflow专家。 :)
答案 0 :(得分:0)
您是否尝试在HttpSessionListener逻辑中使用/调用RequestContextHolder.getRequestContext()?
见
How can I access Spring Webflow FlowScope elements outside the flow?