Necesitamos tu apoyo para extender nuestras reseñas acerca de las ciencias de la computación.
Solución:
De acuerdo con la primavera, esto se arreglará en 1.3.0.M2 y eventualmente en 1.3.0.LIBERAR
Entonces todo lo que tienes que hacer es agregar la siguiente línea a tu application.properties
expediente.
server.session.persistent=true
En versiones recientes de Spring, esto ha quedado en desuso y se ha reemplazado por:
server.servlet.session.persistent=true
Referencia https://github.com/spring-projects/spring-boot/issues/2490
Actualice Tomcat, Jetty y Undertow para serializar los datos de la sesión cuando la aplicación se detenga y vuelva a cargarlos cuando la aplicación se reinicie.
Las sesiones persistentes son opcionales; ya sea estableciendo
persistentSession
en ConfigurableEmbeddedServletContainer o usando la propiedad
server.session.persistent=true
.Corrige gh-2490
Me acabo de dar cuenta de esto yo mismo. Cada vez que se inicia la aplicación, Spring genera un nuevo directorio temporal aleatorio en /tmp
para el directorio base de Tomcat (p. ej. /tmp/tomcat.5990562997404648887.8080
). Dado que usa una carpeta diferente en cada inicio, Tomcat no tiene forma de restaurar la sesión.
Esto se puede solucionar configurando su propio directorio base con server.tomcat.basedir=/tmp
. Sin embargo, no considero que esto sea una solución, ya que requiere configurar un directorio específico del sistema operativo, así que abrí un error al respecto: https://github.com/spring-projects/spring-boot/issues/2490
Lo resolví usando Redis para conservar la información de las sesiones.
Todo lo que necesita hacer es especificar algunas opciones en el archivo application.yml:
server:
servlet:
session:
persistent: true
spring:
session:
store-type: redis
redis:
host: localhost
port: 6379
...
construir.gradle
plugins
id 'java'
id 'io.spring.dependency-management' version '1.0.6.RELEASE'
id 'org.springframework.boot' version '2.1.3.RELEASE'
...
// Spring Framework
compile(
'org.springframework.boot:spring-boot-starter-web',
'org.springframework.boot:spring-boot-starter-data-jpa',
'org.springframework.data:spring-data-redis',
'org.springframework.boot:spring-boot-starter-security'
)
...
Funciona perfecto con Spring Boot 2.1.3
Recuerda comunicar esta división si si solucionó tu problema.