好的,我正在做的就是尝试进入我的第一页。我收到以下异常:
org.springframework.webflow.execution.repository.snapshot.SnapshotNotFoundException:
No flow execution snapshot could be found with id '1'; perhaps the snapshot has been removed?
我正在使用以下内容:
- Spring Webflow 2.3(带有持久性上下文标志)
- 春季安全
- 春季MVC
- 弹簧数据
- JPA 2.0,带有/通过自定义 JpaFlowExecutionListener
我的 JpaFlowExecutionListener 的唯一自定义部分是我将 EntityManager 从范围中分离出来的部分,以便它可以序列化流 - 我将其作为数据库支持的流持久性设置。流被保存/读取/读取到 db ok。但我无法让它呈现第一个视图。
据我所知,这是它在以下崩溃之前所经历的步骤:
- FlowExecutorImpl 代码调用launchExecution()。
- 创建持久对话。
- PersistentConversation 线程被锁定
- PersistentConversation 放入 executionRepository 和 PersistentConversationHolder 的 ThreadLocal 会话映射中。(保留活动线程的对话列表)
- 解锁 - 导致删除 ThreadLocal 映射中的 PersistentConversation
- 然后调用 FlowExecutorImpl createPausedResult(flowExecution)
- 最终调用 FlowExecutorImpl resumeExecution()。
- 使用 FlowID 在 PersistenceConversationHolder 映射中查找 PersistentConversation,但在此处不再找到 PersistentConversation。
- 从数据库中检索并将 db 对象填充到新的 PersistentConversation 中。
- 尝试从它的快照列表中恢复对话,但它在步骤 5 中被删除。
对于 PersistenceConversationHolder,请在此处参考本书中的示例。
任何帮助将不胜感激!