나는 세 가지 엔티티에 대한 처리를 제공하는 플로우를 가지고있다. 따라서 공통 흐름 상태를 가진 부모 흐름 정의가 있고 구체적인 흐름 정의에서는 실제 데이터와 동작 구현으로 그 흐름을 확장합니다.스프링 webflow 변수 직렬화
엔티티를 처리하는 bean 인스턴스를 변수에 저장하고 싶으므로 상위 플로우 정의에서이 변수에 액세스 할 수 있습니다. concreteProcessor
가 필요한 처리를 구현하는 싱글 콩 인 경우 부모의 흐름 (고화질)
<action-state id="prepareReview" >
<evaluate expression="processor.prepare(modelInstance)" />
<transition to="check" />
</action-state>
에서 콘크리트 플로우 정의에서
나는
<on-start>
<set name="flowScope.processor" value="concreteProcessor"/>
</on-start>
있습니다. 그것은 상태를 저장하지 않으므로 직렬화하는 데 쓸모가 없으며, 직렬화 할 수없는 HibernateDaoSupport를 사용하여 autowired dao 변수를 포함합니다.
이 문제를 극복하기위한 방법이 있습니까? 나는 하나의 해결책을 가지고있다. 그러나 구체적인 모든 플로우 정의에 구체적인 프로세서 메소드 호출의 보일러 플레이트 코드를 작성해야하므로 매우 편리하지는 않다.
<action-state id="prepareReview" parent="common#prepareReview">
<evaluate expression="concreteProcessor.prepare(modelInstance)" />
</action-state>
다소 번거롭습니다.