我正在尝试找出我的 CDI 对话的问题。如果我通过我的应用程序采取一条路线,我有一个有效的页面,但如果我通过另一条路线则不行。我相信这与对话有关,但我不知道是什么。
工作流程是这样发生的:
- 加载页面 A
- 打开编辑页面A
- 至此,一个新的对话开始,ID为1
- 进行编辑并保存返回我的页面 A
- 点击页面A上的链接加载页面B
- 打开编辑页面 B
- 会话以 ID 2 开始。在此开始时按刷新将启动 ID 为 3 的会话。其他刷新会增加会话 ID。
- 编辑成功发生
它不工作的工作流程是这样的:工作流程是这样发生的:
- 加载页面 A
- 点击页面A上的链接加载页面B
- 打开编辑页面 B
- 对话从 ID 1 开始。刷新页面会告诉我,我的对话 ID 仍然是 1。
- 页面上的各种操作会引发“WELD-000321 找不到要恢复 id 1 的对话”异常。
因此,这两个工作流程之间的区别在于,在工作流程中我进行了成功的编辑,当我在第二个编辑页面上时,我得到了增量对话 ID。不工作的工作流程,对话 ID 始终为 1,但我无能为力!
我想了解的事情是:
- 如果我有一个 ID 为 1 的对话,做某事然后结束对话,当我开始一个新对话时 - 它的 ID 是什么?1(此对话结束)或 2(下一个未使用的 ID)。
- 除了对话没有正确结束之外,还有什么想要我看到的递增对话 ID 的吗?据我所知,我正确地结束了我的对话。
希望其中一个问题的答案能够揭示出问题所在。感谢您的任何意见