0

우리는 사용자가 애플리케이션 등록, 데이터 입력 및 데이터 처리를 기반으로 한 일부 결과를 통해 탐색하는 거대한 엔터프라이즈 애플리케이션을 보유하고 있습니다. 현재 탐색 로직은 Java 클래스에서 처리됩니다. 입력 된 데이터, 사용자 행동 등에 따라 다음 단계로 넘어갈 페이지가 각 단계에서 결정됩니다.스프링 웹 플로우에서 동적으로 플로우를 생성합니다.

우리는 탐색을 구현하기 위해 스프링 웹 플로우를 구현하기로 결정했습니다. 그러나 가능한 모든 시나리오를 미리 포함하고 모든 시나리오를 고려하여 흐름을 만들 수 있는지 여부는 확실하지 않습니다.

따라서 우리는 애플리케이션의 여러 조건에 따라 런타임에 동적으로 플로우를 생성 할 수있는 방법을 찾고 있습니다. SWF에서 어떻게이를 수행 할 수 있습니까? 어떤 도움을 주시면 감사하겠습니다.

답변

1

커버 아래에서, Spring WebFlow는 흐름 레지스트리 (FlowDefinitionRegistryImpl)를 사용하여 url과 내부 리소스의 매핑을 처리합니다. 내부적으로 흐름 레지스트리는 (궁극적으로) 해시 맵을 둘러싼 래퍼입니다.

런타임에 정의 된 흐름은 기본적으로 Spring-weblow의 범위를 벗어난 것입니다.

그러나 엔터프라이즈 자원이 있으면 FlowDefinitionRegistryImpl을 확장하거나 FlowDefinitionRegistry를 원하는대로 작동하고 "즉시"흐름을 변경할 수있는 사용자 정의 클래스로 구현할 수 있습니다. 성능 및 동기화에주의를 기울여야하며 기본 맵을 새로 고치는 메커니즘을 정의해야합니다.

관련 문제