Boa noite pessoal, tudo bem?
Estou com um projeto onde utilizo jsf + primefaces + cdi e utilizo o mesmo controller para controlar mais de uma página (geralmente são 2, uma de pesquisa e outra de cadastro/alteração). Utilizo o SessionScoped mas já descobri que é uma má prática e me acarreta problemas. Comecei a estudar o ConversationScoped do cdi e acredito que ele possa resolver meu problema. Ele me dá o controle de iniciar a conversa e terminar em algum momento. Mas isso pode me trazer outro problema enorme com conversas iniciadas e não finalizadas (usuário não chegando no passo que finaliza a conversa mudando de tela por exemplo). Minha dúvida é se existe alguma maneira de levantar as conversas em aberto e poder finalizá-las em algum ponto. Imaginei de implementar essa opção junto ao menu, ou até no construtor dos controllers. Assim eu sempre que for entrar em algum controller novo eu verifico se existem conversas em aberto e finalizo todas.