中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據庫連接超時java處理的方式有哪些

發布時間:2023-05-06 10:48:58 來源:億速云 閱讀:116 作者:iii 欄目:開發技術

這篇文章主要講解了“數據庫連接超時java處理的方式有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“數據庫連接超時java處理的方式有哪些”吧!

    數據庫連接超時java處理的方式

    在測試一套數據庫是否能夠連接上的過程中,我們就會遇到這樣的一種情況,當不能連接的時候會存在代碼運行時間超級長的問題,這樣的話在頁面上會存在卡死的現象,為了解決這個問題

    總結了下面兩種方式:

    1.使用socket的方式設置連接超時(通用)

    這個主要是通過使用socket.connect()方法建立連接,其連接主要需要用到ip和相關端口號(記得是int類型喲)

    具體使用方法如下:

    Socket socket = new Socket();
    try
    {
       socket.connect(new InetSocketAddress(ip, portt), 3000);
       socket.setSoTimeout(3000);
       socket.getInputStream().read();
    } catch (SocketTimeoutException e)
    {
       if (!socket.isClosed() && socket.isConnected()){
           System.out.println("讀取超時");
       }else{
            System.out.println("連接超時");
            return null;
       }
    }
    catch (Exception e)
    {
       e.printStackTrace();
    }

    2.使用DriverManager.setLoginTimeout()方法來設置超時

    這種情況下通常是通過DriverManager.getConnection()方式來建立連接的.

    具體實現代碼如下:

    Class.forName("oracle.jdbc.driver.OracleDriver");//操作數據庫第一步:找到驅動
    DriverManager.setLoginTimeout(3)//表示3秒;
    Connection con = DriverManager.getConnection(url,user,passwd);//第二步:建立連接        
    Statement st = con.createStatement();//第三步:建立一個statement的對象

    上面也順便把如何測試數據庫連接的方法也拋出來了。

    java的遠程數據庫連接,超時問題

    最近開發短信發送模塊,一直困擾我的一個問題.就是定期獲得短信發送狀態,看短信有沒有發出去,啟動一個線程,但是沒有過多久就死了,出現socke的write錯誤,通過future對超時控制也不行,過段時間久線程就死了,后來更改遠程數據庫的設置。

    port = 3369 
    socket = /tmp/mysql.sock 
    skip-locking 
    max_allowed_packet = 2M 
    sort_buffer_size = 512K 
    net_buffer_length = 8K 
    read_buffer_size = 256K 
    read_rnd_buffer_size = 512K 
    myisam_sort_buffer_size =16M 
    wait_timeout=1400 
    interactive_timeout=1400

    增加wait_timeout和interactive_timeout參數,還是出現一樣的問題,時間過了一個月后,在一個偶然的機會是因為socket沒有設置超時造成的所以更改連接語句增加

    jdbc:mysql://ip/true&characterEncoding=gbk&connectTimeout=120000&socketTimeout=120000

    設置socket的超時為2分鐘,測試通過.運行穩定.

    感謝各位的閱讀,以上就是“數據庫連接超時java處理的方式有哪些”的內容了,經過本文的學習后,相信大家對數據庫連接超時java處理的方式有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    吐鲁番市| 元谋县| 东山县| 龙游县| 绥德县| 庄河市| 余庆县| 宁海县| 安化县| 武宣县| 措美县| 利辛县| 陆河县| 红桥区| 丰镇市| 台中市| 荥经县| 安图县| 西昌市| 巴塘县| 华亭县| 将乐县| 南投县| 巩义市| 昌乐县| 衡东县| 建瓯市| 福鼎市| 基隆市| 黑龙江省| 海安县| 大关县| 惠水县| 桐梓县| 巴东县| 邹平县| 如东县| 谢通门县| 印江| 潮安县| 金湖县|