SpringBoot解決mysql連接8小時問題
問題: 服務連接mysql數(shù)據(jù)庫,8小時沒有數(shù)據(jù)庫的操作時候,數(shù)據(jù)庫會主動斷開連接釋放資源
解決辦法總共4種方法
MySQL 5版本之前可以通過在URL后面加入autoReconnect=true
application.properties文件中加入:
spring.datasource.test-on-borrow=true #(即在獲取Connection對象時檢測其可用性),不過這樣會影響性能,但是這個配置是最有效的。 spring.datasource.test-while-idle=true spring.datasource.time-between-eviction-runs-millis= 3600000
數(shù)據(jù)庫配置調(diào)整:
如果你有權限訪問 MySQL 服務器的配置,你也可以調(diào)整 MySQL 的連接超時時間。修改 wait_timeout 和 interactive_timeout 參數(shù),將它們設置為一個更大的值,以延長連接的存活時間。
請注意,修改 MySQL 服務器的配置可能需要謹慎考慮,因為這會影響到所有連接
my.ini 文件中修改此參數(shù)
[mysqld] wait_timeout=31536000 interactive_timeout=31536000
定時任務發(fā)送查詢:
如果你沒有使用連接池,你可以創(chuàng)建一個定時任務,在一定時間間隔內(nèi)發(fā)送一個查詢來保持連接活躍。這可以使用 Spring 的 @Scheduled 注解來實現(xiàn)
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class KeepAliveTask {
private final JdbcTemplate jdbcTemplate;
public KeepAliveTask(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
@Scheduled(fixedRate = 300000) // 5 minutes
public void keepConnectionAlive() {
jdbcTemplate.queryForObject("SELECT 1", Integer.class);
}
}到此這篇關于SpringBoot解決mysql連接8小時問題的文章就介紹到這了,更多相關SpringBoot mysql連接8小時內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- docker-compose啟動springboot項目連接mysql問題
- SpringBoot項目如何連接MySQL8.0數(shù)據(jù)庫
- SpringBoot利用jpa連接MySQL數(shù)據(jù)庫的方法
- SpringBoot圖文并茂詳解如何引入mybatis與連接Mysql數(shù)據(jù)庫
- Springboot2.0配置JPA多數(shù)據(jù)源連接兩個mysql數(shù)據(jù)庫方式
- SpringBoot集成Druid連接池連接MySQL8.0.11
- 教你用springboot連接mysql并實現(xiàn)增刪改查
- SpringBoot多數(shù)據(jù)庫連接(mysql+oracle)的實現(xiàn)
- springboot配置mysql連接的實例代碼
- 解決springboot 連接 mysql 時報錯 using password: NO的方案
- SpringBoot連接MYSQL數(shù)據(jù)庫并使用JPA進行操作
相關文章
SpringCloud添加客戶端Eureka Client過程解析
這篇文章主要介紹了SpringCloud添加客戶端Eureka Client過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-03-03
后端如何接收格式為x-www-form-urlencoded的數(shù)據(jù)
x-www-form-urlencoded格式是一種常見的HTTP請求數(shù)據(jù)格式,它將請求參數(shù)編碼為鍵值對的形式,以便于傳輸和解析,下面這篇文章主要給大家介紹了關于后端如何接收格式為x-www-form-urlencoded的數(shù)據(jù),需要的朋友可以參考下2023-05-05
Java實現(xiàn)將彩色PDF轉為灰度PDF的示例代碼
本文以Java代碼為例介紹如何實現(xiàn)將彩色PDF文件轉為灰度(黑白)的PDF文件,文中的示例代碼講解詳細,感興趣的小伙伴快跟隨小編一起學習一下吧2022-03-03
IDEA使用jformdesigner插件做管理系統(tǒng)MVC架構的步驟和實現(xiàn)思路
在?IntelliJ?IDEA?中結合?JFormDesigner?插件,通過?Swing?框架實現(xiàn)一個管理系統(tǒng)的?MVC?架構是一種經(jīng)典的開發(fā)方式,以下是具體的步驟和實現(xiàn)思路,包含從項目創(chuàng)建到?MVC?架構的核心代碼實現(xiàn),需要的朋友可以參考下2024-12-12

