내 jsf 프로젝트의 페이지를 탐색하는 동안 BusyConversationException이 발생합니다. 이것은 주로 사용자가 ajax 호출 중에 다른 페이지로 이동하려고 시도 할 때 발생합니다. 이는 사용자가 페이지로드를 기다리지 않고 다른 링크를 클릭 한 직후에 링크를 클릭 할 때도 발생합니다.jsf에서 BusyConversationException을 피하는 방법
예를 들어 사용자가 아래 코드와 비슷한 코드를 통해 생성 된 둘 이상의 링크를 클릭하면이 예외가 발생합니다. 또 다른 예는 사용자가 텍스트 필드에 쿼리를 입력하고 애플리케이션에서이 쿼리를 검색하기 위해 ajax 호출을 수행하는 것입니다. 이 쿼리 중에 사용자가 다른 페이지로 이동하기 위해 일부 단추를 클릭하면 BusyConversationException도 발생합니다.
<h:commandLink value="#{theProfile.profileName}"
title="#{theProfile.profileName}"
action="#{profileBean.aProfileSelected}">
<f:setPropertyActionListener target="#{currentProfileWebBean.theProfile}" value="#{theProfile}"/>
</h:commandLink>
내가하지만 난 내 현재 상태와 나는이 경우에 할 수있는 최선이 예외가 발생하면 메인 페이지로 리디렉션하는 것입니다 저장할 수 없습니다 ExceptionHandlerWrapper 클래스를 확장하는 ExceptionHandler 클래스에서 예외의 유형을 잡을 수
.
이것을 피하는 해결책이 있습니까? 답변과 의견에 미리 감사드립니다.
주 : 'BusyConversationException'은 JSF의 일부가 아닙니다. CDI 태그를 추가했습니다. – BalusC
Conversation.begin 호출이 여러 번 발생합니까? – LightGuard
안심할 수 있으면이 문제도 발생합니다. 웹 검색을 기반으로하는 _few_ 사람들의 반응이 놀랍습니다. 나는 대화 범위의 bean을 제거하고 session-scoped와 view-scoped (Seam Faces가 제공하는 CDI 뷰 범위로)를 사용하는 경우가있다. – Nick