我在一个 @ViewScoped bean 中注入了多个 @ConversationScoped bean,这导致了很多对话锁定问题。
为了纠正这个问题,在所有@ConversationScoped bean 中,我在开始新的对话之前添加了几行代码来结束现有的对话。
正如你在进入 begin() 时看到的那样,我将在开始新的对话之前结束所有以前的对话。
public void begin() {
if (conversation != null
&& !conversation.isTransient()) {
end();
}
if (conversation.isTransient()) {
conversation.begin();
}
}
这是正确的方法吗?这会引起问题吗?