Я пытаюсь добавить веб-поток в приложение весенней загрузки с помощью библиотеки joinfaces.
Я использую primefaces-spring-boot-starter и jetty-spring-boot-starter для настройки сервера Jetty.
Добавлены необходимые зависимости веб-потока в pom и настроены необходимые flowregistry, flowbuilderservices, flowexecutor и flowhandlermapping, ...
Приложение запускается правильно, считывает определения потоков из xmls и, если входит в поток через url, принимает решениесостояния выполняются правильно, читает соответствующий файл .xhtml состояния представлений, вызывает методы управляемого бина, и все они, по-видимому, работают хорошо.
Но ... после завершения выполнения методов бина, когда я надеюсь, что html будет отображенв браузере приложение перенаправляется в корневую папку приложения без ошибок в журнале.
У меня такое поведение со всеми потоками приложения.Методы bean-компонентов выполняются корректно, и когда я надеюсь увидеть html ..., перенаправленный в root.
Кто-нибудь пытался успешно добавить веб-поток в приложение jsf joinfaces?Мне не хватает переопределить конфигурацию соединений по умолчанию?
Спасибо.
public class MvcConfiguration implements WebMvcConfigurer {
@Autowired
private WebFlowConfiguration webFlowConfiguration;
@Bean
public FlowHandlerMapping flowHandlerMapping() {
FlowHandlerMapping handlerMapping = new FlowHandlerMapping();
handlerMapping.setOrder(-1);
handlerMapping.setFlowRegistry(this.webFlowConfiguration.flowRegistry());
return handlerMapping;
}
@Bean
public FlowHandlerAdapter flowHandlerAdapter() {
JsfFlowHandlerAdapter adapter = new JsfFlowHandlerAdapter();
adapter.setFlowExecutor(this.webFlowConfiguration.flowExecutor());
return adapter;
}
@Bean
public ViewResolver faceletsViewResolver() {
UrlBasedViewResolver resolver = new UrlBasedViewResolver();
resolver.setViewClass(JsfView.class);
resolver.setPrefix("/");
resolver.setSuffix(".xhtml");
return resolver;
}
}
@Configuration
public class WebFlowConfiguration extends AbstractFacesFlowConfiguration {
@Bean
public FlowDefinitionRegistry flowRegistry() {
return getFlowDefinitionRegistryBuilder()
.setBasePath("classpath*:/META-INF/resources/flows")
.addFlowLocationPattern("/**/*.xml")
.setFlowBuilderServices(flowBuilderServices())
.build();
}
@Bean
public FlowBuilderServices flowBuilderServices() {
return getFlowBuilderServicesBuilder()
.setDevelopmentMode(true)
.setViewFactoryCreator(new JsfViewFactoryCreator())
.build();
}
@Bean
public FlowExecutor flowExecutor() {
return getFlowExecutorBuilder(flowRegistry())
.addFlowExecutionListener(new FlowFacesContextLifecycleListener())
.addFlowExecutionListener(new SecurityFlowExecutionListener())
.setMaxFlowExecutionSnapshots(0)
.build();
}
}