======Spring Web Flow 환경 구성하기 ====== =====개요===== Spring Web Flow 를 사용하기 위한 Web 개발환경에 대한 세팅을 설명하겠다.\\ =====설정===== Spring Web Flow 의 Flow 정의를 위한 XML 문서는 아래와 같은 Schema를 갖는다.\\ ==== 기본적인 설정 ==== Spring Web Flow 를 사용하기 해서는 FlowRegistry 와 FlowExecutor 를 설정해야 한다. \\ FlowRegistry는 등록될 시나리오에 따라 작성된 flow xml 을 가져오는 역할[1]을 수행한다. \\ FlowExecutor는 등록된 flow 설정 xml을 실행[2]한다. 차후 Spring MVC 와 결합하여 Web Flow 시스템을 실행되는 부분에 대해 다루겠다.\\ ====flow-registry 옵션==== flow-registry는 아래 보는 것과 같이 설정을 할 수 있다. ==== 커스텀 FlowBuilder 서비스 설정 ==== flow-registry에서 flow-builder-services 는 flow를 구축하는데 사용되는 서비스나 설정 등을 커스터마이징 할 수 있다. \\ 지정하지 않는 경우에는 기본 서비스가 사용 된다.\\ ===구성 가능한 서비스=== == conversion-service== SWF 시스템에서 사용하는 ConversionService를 커스터마이징. Flow 실행 동안에 필요한 경우 특정 타입을 다른 타입으로 변환해 줌(propertyEditor 성격)\\ == expression-parser == ExpressionParser 커스터마이징하는데 사용. 기본은 Unified EL이 사용되며, 사용하는 영역은 classpath 이다. 다른 ExpressionParser로는 OGNL이 사용 됨.\\ == view-factory-creator == ViewFactoryCreator 를 커스터마이징. 디폴트 ViewFactoryCreator 는 JSP, Velocity, Freemaker 등을 화면에 보여주게 해주는 Spring MVC ViewFactories로 되어 있음.\\ == development == Flow 개발 모드 설정. true인 경우, Flow 정의가 변경되면 hot-reloading 적용(message bundles 과 같은 리소스 포함).\\ ** 별도로 커스터마이징 된경우** ====flow-executor 옵션 ===== ===Flow 실행 리스너 붙이기 === Flow 실행의 Lifecycle 에 관련된 리스너(listener) 는 flow-execution-listeners 를 이용하여 등록한다. \\ 또한 특정 흐름에 대해서만 적용 가능하다. ===FlowExecution persistence 조정 === ==max-executions== 사용자 세션 당 생성될 수 있는 Flow 실행 개수 지정\\ ==max-execution-snapshots == Flow 실행 당 받을 수 있는 이력 snapshot 개수 지정. snapshot을 사용하지 못하게 하려면, 0으로 지정. 제한이 없게 하려면 -1로 설정.\\ ===== 참고자료 ===== * [[http://static.springframework.org/spring-webflow/docs/2.0.x/reference/html/index.html|Spring Web Flow reference 2.0.x]] * Spring Web-Flow Framework Reference beta with Korean (by 박찬욱)