Invalidar JSESSIONID e salvar dados em uma nova sessão

Olá galera, estou com um problema gigantesco, pesquisei bastante antes de postar aqui mas não achei uma solução do problema, infelizmente… Então vamos lá:

Temos uma aplicação onde ao logar com o usuário o token do JSESSIONID é persistido. Nas boas práticas de segurança, o ideal é que o valor do token seja alterado ao logar, assim como ao deslogar. O problema é que alguns dados da aplicação são gravados na sessão, e até agora não consegui uma forma de invalidar e criar uma nova sessão para manter os dados. Utilizei esse código abaixo e o token foi alterado com sucesso, porém algumas partes da aplicação onde usam esses dados que eram gravados na sessão anterior pararam de funcionar.

HttpServletRequestWrapper httpRequest = (HttpServletRequestWrapper) douiContext.getRequest();
httpRequest.getSession().invalidate();
httpRequest.getSession(true);

Há alguma forma de atualizar o token sem perder os dados do usuário?

Obrigado!

Se você mantém os dados em sessão, não há como. Afinal, estes dados serão perdidos quando você destruir a sessão e criar uma nova.
Você precisa definir o que quer, se quer manter os dados, mantenha a sessão, se quer destruir a sessão, preste atenção nas opções, ou você persiste os dados que precisa manter em banco de dados ou você perde os mesmos.