2012-08-03 3 views
2

저는 거대한 프로젝트를 진행하고 있습니다. 우리는 몇 가지 흐름에 대해 서로 다른 관리를하고 싶습니다.여러 플로우에 대한 다중 플로우 실행 프로그램을 정의하고 일부 플로우에 대한 연속 스냅 샷을 사용 불가능하게하는 방법은 무엇입니까?

우리는 대부분의 플로우에서 연속 스냅 샷 (뒤로 버튼 사용을 허용하는 스냅 샷)을 사용할 수 있기를 원하지만 대규모 플로우를 사용하는 플로우의 연속 스냅 샷을 완전히 비활성화 할 수 있기를 원합니다 우리가 직렬화하고 싶지 않은 메모리의 양.

가능합니까? 그리고 어떻게 ?

대단히 감사합니다.

답변

1

큰 문제가 있습니다. 아무 것도 시도하지 않았습니다. 그러나 여기에 잠재적 인 접근법이 있습니다.

우선, FlowExecutionSnapshotFactory의 구현이 필요합니다. 이렇게하면 스냅 샷 생성 및 복원을 관리 할 수 ​​있습니다. SerializedFlowExecutionSnapshotFactory을 랩핑하려고하지만 특정 상황에서만 스냅 샷을 만들 수 있습니다. 더 좋은 점은 스냅 샷을 만들 수는 있지만 스냅 샷의 일부 데이터는 생략하는 것입니다.

이제는 웹 플로우가 새로운 SnapshotFactory을 사용하고 있습니다. 팩토리는 FlowExecutorFactoryBean.createFlowExecutionSnapshotFactory()에서 생성됩니다. 그래서 이것을 만들어야합니다. application-context.xml 파일에 자신의 FlowExecutorFactoryBean을 지정할 수 있습니다. http://forum.springsource.org/showthread.php?54714-SWF-2-0-Backtracking-and-exception-catching에서이를 수행하는 방법에 대한 지침이 있습니다. 아래쪽으로 angrysoul의 게시물로 스크롤하십시오.

이제 은 자신의 스냅 샷 팩토리가 포함 된 FlowExecutorImpl의 고유 한 인스턴스를 제공해야합니다.

+0

답변 해 주셔서 감사 드리며 최대한 빨리 답변 드리겠습니다. –