我要在一个@ViewScoped bean中注入多个@ConversationScoped bean,这导致了很多“会话锁定”问题。
为解决此问题,在所有@ConversationScoped bean中,我放置了几行代码以在开始新对话之前结束现有对话。
您可以看到进入begin()时,在开始新的对话之前,我将结束所有先前的对话。
public void begin() {
if (conversation != null
&& !conversation.isTransient()) {
end();
}
if (conversation.isTransient()) {
conversation.begin();
}
}
这是正确的方法吗?这会引起问题吗?