日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java笔记-JDBC心跳检测及断开重连线程实例

發(fā)布時間:2025/3/15 java 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java笔记-JDBC心跳检测及断开重连线程实例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

這里自己寫了個JDBC心跳檢測及斷開重連線程:

運(yùn)行截圖如下:

心跳的時候運(yùn)行ipconfig /release

然后再給他ipconfig /renew回去:

?關(guān)鍵代碼如下:

Maven:

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.10.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>demo</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.oracle</groupId><artifactId>ojdbc8</artifactId><version>18.6.0.0</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

ThreadConfig.java

@Configuration public class ThreadConfig {@Beanpublic HeartThread heartThread(){HeartThread heartThread = new HeartThread();heartThread.setHeartSqlCmd("select * from v$version");return heartThread;} }

JDBCService.java

@Service public class JDBCService {static String urlString = "jdbc:oracle:thin:@//192.168.1.102:1521/orcl";static String userName = "xxxxxx";static String passWord = "xxxxxx";private static Connection connection = null;private static Statement stmt = null;static {try {//連接connection = DriverManager.getConnection(urlString, userName, passWord);stmt = connection.createStatement();} catch (SQLException e) {//記錄日志e.printStackTrace();}}public static void reConnection(){try {//連接connection = DriverManager.getConnection(urlString, userName, passWord);stmt = connection.createStatement();} catch (SQLException e) {//記錄日志e.printStackTrace();}}public void executeSQLCmd(String sql) throws SQLException, StrException {if(connection == null){throw new StrException("connection為null,趕緊退出");}if(stmt == null){throw new StrException("stmt為null,趕緊退出");}ResultSet rs = stmt.executeQuery(sql);if(rs == null){}else{rs.close();}} }

HeartThread.java

public class HeartThread extends Thread {@AutowiredJDBCService jdbcService;private String heartSqlCmd = null;public void setHeartSqlCmd(String heartSqlCmd) {this.heartSqlCmd = heartSqlCmd;}@SneakyThrows@Overridepublic void run() {while (true){try{jdbcService.executeSQLCmd(heartSqlCmd);System.out.println(Thread.currentThread() + ":" + "連接正常");}catch (Exception e){//e.printStackTrace();//記錄日志//重連System.out.println(Thread.currentThread() + ":" + "心跳檢測斷開正在重連");JDBCService.reConnection();}Thread.sleep(1000 );}} }

?

源碼打包下載地址如下:

https://github.com/fengfanchen/Java/tree/master/heartLink

?

總結(jié)

以上是生活随笔為你收集整理的Java笔记-JDBC心跳检测及断开重连线程实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。