"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo prevenir la pérdida de conexión de la base de datos después de 424 horas en arranque de primavera con hibernado?

¿Cómo prevenir la pérdida de conexión de la base de datos después de 424 horas en arranque de primavera con hibernado?

Publicado el 2025-03-22
Navegar:757

How to Prevent Database Connection Loss After 424 Hours in Spring Boot with Hibernate?

Resolución de la pérdida de conexión de la base de datos después de 424 horas en el arranque de primavera con hibernate

un problema surge en una aplicación de arranque de primavera usando JPA-Hibernate con MySQL cuando la conexión a la dataBase se pierde después de un duración de 424 horas. El registro de errores muestra:

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 56,006,037 milliseconds ago.  The last packet sent successfully to the server was 56,006,037 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

para abordar este problema se recomienda para configurar las propiedades de conexión apropiadas en el archivo de configuración de la aplicación (e.g., application.properties):

Validación de conexión y configuración del grupo spring.datasource.max-active = 10 spring.datasource.initial-size = 5 spring.datasource.max-idle = 5 spring.datasource.min-idle = 1 # Validación de conexión periódica spring.datasource.test-when-idle = verdadero spring.dataSource.Validation-Query = Seleccionar 1 # Gestión de conexión inactiva Spring.datasource.Time-Bet-Eviction-Runs-Millis = 5000 spring.dataSource.min-Evictable-Idle-Time-Millis = 60000
# Connection validation and pool configuration
spring.datasource.max-active=10
spring.datasource.initial-size=5
spring.datasource.max-idle=5
spring.datasource.min-idle=1

# Periodic connection validation
spring.datasource.test-while-idle=true
spring.datasource.validation-query=SELECT 1

# Idle connection management
spring.datasource.time-between-eviction-runs-millis=5000
spring.datasource.min-evictable-idle-time-millis=60000

Establezca un número máximo de conexiones activas (spring.dataSource.max-active).
  • Validing conexiones periódicamente (spring.dataSource.test-when-while-idle).
  • las conexiones inactivas si no se han utilizado dentro de un tiempo especificado (spring.dataSource.min-evictable-millis-tiempo-Millis).
  • implementando estas configuraciones, el grupo de conexión se convertirá regularmente en la validez de las conexiones y reemplazaría las que se convertirán en las que se convierten en la validez de las conexiones y reemplazarán las stase stale. Conectividad de la base de datos incluso después de períodos prolongados de inactividad.
Declaración de liberación Este artículo se reproduce en: 1729757864 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3