D de sesión reutilizado después de la llamada para invalidar

Heredé una aplicación JSP bastante antigua (JDK 1.3.1_15) y estoy intentando conectar un agujero de fijación de sesión.

Estoy invalidando con éxito la sesión actual después de la autenticación usandoHttpSession.invalidate() sin embargo, cuando se crea la nueva sesión, se reutiliza el ID de sesión anterior.

<%
// login.jsp
if (authenticated) {
    request.getSession().invalidate();

    // create new session and store data
    HttpSession session = request.getSession();
    session.putValue(...);
    // etc

    response.sendRedirect("logged-in.jsp");
    return;
}
%>

Puedo ver la nueva asignación de sesión en mi monitor HTTP, solo está usando el mismo número nuevamente.

-- Initial request response --
HTTP/1.1 200 OK
Set-Cookie: JSESSIONID=6a303082951311647336934;path=/

-- login.jsp request response --
HTTP/1.1 302 Moved Temporarily
Location: http://example.com/logged-in.jsp
Set-Cookie: JSESSIONID=6a303082951311647336934;path=/

Prior para mí usandosession.invalidate() el segundoSet-Cookie el encabezado de respuesta no estaba presente en absoluto.

¿Alguien tiene algún consejo sobre cómo generar una nueva ID de sesión? No estoy muy familiarizado con JRUN4, pero rastrear la documentación de configuración no ha aparecido nada.

Respuestas a la pregunta(2)

Su respuesta a la pregunta