안녕하세요.
Spring Web Flow를 사용할 때 보통 end-state로 플로우를 끝내게 됩니다.
하지만 사용자의 메뉴이동이나 기타 다른 이유에 의해 end-state를 거치지 않았을 경우 다량의 데이터와 화면 정보가 메모리에 남게될 것 같습니다.
이 때, 인위적으로 데이터를 클리어할 수 있는 방법이 있을까요?
위와 같은 경우에, Spring Web Flow에서는 excution과 snapshot의 갯수를 사용자 session에 따라 제한할 수 있는 방법을 제시하고 있습니다.
설정방법은 아래와 같습니다.
<webflow:flow-execution-repository max-executions="5" max-execution-snapshots="30" />
(사용자당 최대 5개의 flow excution을 가질 수 있으며 excution 마다 30개 이하의 snapshot을 갖게 됨)
이에 사용자당 메모리 오버헤드를 줄일수 있으며 OutOfMemory exception이 발생하는 것을 줄일 수 있을 것으로 기대됩니다.
답변입니다.
위와 같은 경우에, Spring Web Flow에서는 excution과 snapshot의 갯수를 사용자 session에 따라 제한할 수 있는 방법을 제시하고 있습니다.
설정방법은 아래와 같습니다.
<webflow:flow-execution-repository max-executions="5" max-execution-snapshots="30" />
(사용자당 최대 5개의 flow excution을 가질 수 있으며 excution 마다 30개 이하의 snapshot을 갖게 됨)
이에 사용자당 메모리 오버헤드를 줄일수 있으며 OutOfMemory exception이 발생하는 것을 줄일 수 있을 것으로 기대됩니다.