어플리케이션 탭을 닫을 때 FlowExecutionRestorationFailureException 예외가 발생합니다.Spring 웹 플로우에서 FlowExecutionRestorationFailureException이 발생합니다.
우리는 primeafaces 3.4.2 및 spring web flow 2.3.1에서 개발 된 응용 프로그램을 보유하고 있습니다.
이 응용 프로그램에는 홈 화면 (로그인 후 첫 번째 화면 표시)이 있고이 화면에는 계정 링크 (CommandLink)가 있습니다.
검색 링크 다른 탭 (이제 우리는 두 개의 탭 - 1. 홈 화면 2. 계정이 있음)을 계정 세부 정보와 함께 열어서 화면에 결제 버튼이 있습니다. 우리는 결제 버튼을 클릭하면 결제 화면으로 이동합니다.
그 후에는 탭의 닫기 아이콘을 클릭하여 결제 화면 탭을 닫습니다.
하지만 여전히 다른 탭에는 홈 스크린이 있으며, 계정 링크를 클릭합니다.
동일한 단계를 7-8 회 수행하십시오. 그 후 FlowExecutionRestorationFailureException 예외가 발생합니다.
흐름 스냅 샷 설정 :
webflow:flow-executor id="flowExecutor">
<webflow:flow-execution-listeners>
<webflow:listener ref="facesContextListener" />
<webflow:listener ref="securityFlowExecutionListener" />
</webflow:flow-execution-listeners>
<webflow:flow-execution-repository max-executions="0" max-execution-snapshots="15" />
</webflow:flow-executor>
예외 추적 : 유형의 예외 보고서
메시지 요청 처리가 실패; 중첩 예외는 org.springframework.webflow.execution.repository.FlowExecutionRestorationFailureException : 키 'e1s1'을 사용하여 흐름 실행을 복원하는 중 문제가 발생했습니다.
설명 서버가이 요청을 수행하지 못하게하는 내부 오류가 발생했습니다.
예외
org.springframework.web.util.NestedServletException : 요청 처리에 실패했습니다. 중첩 예외는 org.springframework.webflow.execution.repository.FlowExecutionRestorationFailureException : 키 'e1s1'을 사용하여 흐름 실행을 복원하는 중에 문제가 발생했습니다. org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:894) org.springframework .web.servlet.FrameworkServlet.doPost (FrameworkServlet.java:789) javax.servlet.http.HttpServlet.service (HttpServlet.java:641) javax.servlet.http.HttpServlet.service (HttpServlet.java:722) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:330) org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke (FilterSecurityInterceptor.java:118) org.springframework.security. web.access.intercept.FilterSecurityInterceptor.doFil (FilterChainProxy.java : 342) org.springframework.security.web.access.ExceptionTranslationFilter.doFilter (ExceptionTranslationFilter.java:113) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) org.springframework.security.web.session.SessionManagementFilter.doFilter (SessionManagementFilter.java:103) org.springframework.security.web .FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter (SecurityContextHolderAwareRequestFilter.java:54) org.springframework.security.web.FilterChainProxy $ VirtualFi lterChain.doFilter (FilterChainProxy.자바 : 342) org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter (RequestCacheAwareFilter.java:45) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) org.springframework .security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter (AbstractPreAuthenticatedProcessingFilter.java:88) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:342) org.springframework.security.web.authentication .logout.LogoutFilter.doFilter (LogoutFilter.java:105) 흐름에 대한
일부 세부 사항 : I가 시도 end billing sub flow 및 Home sub flow가 있지만, 계정 연결 시작을 다시 클릭하면 나중에 동일한 예외가 수신됩니다.
저에게 조언하거나 제안하십시오.
이러한 각 화면에서 flowExecutionKey 및 flowId를 지정하고 있습니까? 일시 정지 된 경우 흐름을 복원/재개합니다. – Prasad
아니요, 화면에 flowexcecutionkey 및 flowId를 지정하지 않았습니다. 일단 흐름 실행이 작성되면 웹 플로우는 흐름 실행 키를 지정합니다. – Vikas
"검색 링크 다른 탭"은 어디에 있습니까? 반복해야 할 단계는 무엇입니까? 당신은 그것을 명확하게 할 수 있습니까? – Prasad