成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hibernate用MySQL數據庫時鏈接關閉異常的表現

數據庫 MySQL
以下的相關內容就是對Hibernate用MySQL數據庫時鏈接關閉異常的實際解決方案 的描述,望會給你帶來一些幫助在此方面。

我們今天主要描述Hibernate用MySQL數據庫時鏈接關閉異常的實際解決方案,愿在你學習Hibernate用MySQL數據庫時鏈接關閉異常的實際解決方案中以起到拋磚引玉的作用,以下就是文章的詳細內容介紹,望大家借鑒。

在一個項目中,客戶要求除操作系統外全部使用免費軟件,因此我使用了MySQL 4.0作為MySQL數據庫服務器,其JDBC驅動為3.0.9版本,在給客戶安裝后調試一切正常。可是到了第二天,只要一登錄就提示“No operations allowed after connection closed”異常,顯示在瀏覽器上。在經過一番檢查后我發現,在這種情況下只要重新啟動Tomcat就恢復正常,然而到了第二天問題依舊。

在網上查找一下,原來MySQL在經過8小時不使用后會自動關閉已打開的連接,摘錄原文如下:

5.4. I have a servlet/application that works fine for a day, and then stops working overnight

MySQL closes connections after 8 hours of inactivity. You either need to use a connection pool that handles stale connections or use the "autoReconnect" parameter (see "Developing Applications with MySQL Connector/J").

Also, you should be catching SQLExceptions in your application and dealing with them, rather than propagating them all the way until your application exits, this is just good programming practice. MySQL Connector/J will set the SQLState (see java.sql.SQLException.getSQLState() in your APIDOCS) to "08S01" when it encounters network-connectivity issues during the processing of a query. Your application code should then attempt to re-connect to MySQL at this point.
 

在客戶那邊,晚上時間是不會有人使用這個系統的,就造成了系統中原先沒有考慮到的這個情況。

為此我試驗了三種方法:

1、在MySQL數據庫的url中加入autoReconnect=true

2、在每次調用getSession()方法時判斷session.isClosed()是否為真,若為真則調用session.reconnect();

3、在經過兩天,事實證明前兩種方法都不起作用的情況下,我在這個頁面找到了第三種方法,即不使用Hibernate內置的連接池(Hibernate強烈推薦不使用但我以前一直在用),改用C3P0連接池,這個連接池會自動處理MySQL數據庫連接被關閉的情況。要使用C3P0很簡單,先從Hibernate里把c3p0-0.8.3.jar復制到項目的lib目錄中,再在hibernate.properties里去掉hibernate.c3p0開頭的那些屬性的注釋(使用缺省值或自己需要的數值),這樣Hibernate就會自動使用C3P0代替內置的連接池了。到目前為止前面的問題沒有再出現過。

以前對Hibernate警告不要使用內置連接池作產品用途沒有太放在心上,這次是一個教訓,所以不論從穩定還是性能的考慮,都應該選擇相對更加成熟的連接池。

update:除了連接池的原因,原先寫的HibernateDAO類也有問題,在有些情況下一個session會被多個請求反復使用,現在已改正。另外,c3p0這個名字不是星球大戰里那個機器人么?

【編輯推薦】

  1. 如何實現MySQL鎖的優化
  2. MySQL heap使用大匯總
  3. 如何用PHP來實現MySQL備份?
  4. MySQL轉義字符的實際應用
  5. MySQL常用技巧都包括哪些?
責任編輯:佚名 來源: 互聯網
相關推薦

2011-04-07 09:40:57

DataReader鏈接關閉

2010-05-11 18:23:31

MySQL數據庫分區

2010-06-13 10:46:52

MySQL 數據庫

2011-04-07 15:47:28

MySQL數據庫

2009-09-28 13:29:41

加載過程Hibernate訪問

2009-06-02 14:36:28

HibernateMySQLEclipse

2010-06-17 13:34:47

SQL Server數

2011-07-12 16:41:14

mysql處理異常

2010-04-14 17:29:33

Oracle數據庫

2009-09-24 14:12:22

Hibernate數據

2009-09-25 13:18:15

Hibernate數據

2010-06-01 10:58:57

MySQL數據庫

2010-09-29 08:52:34

MySQL

2019-11-23 17:10:58

MySQL數據庫default

2009-06-24 07:58:52

Hibernate多數

2019-07-05 11:20:31

PythonMySQL數據庫

2011-05-26 14:43:49

ORACLE數據庫異常處理

2015-06-08 13:48:15

數據庫數據完整性約束表現

2010-05-20 14:52:42

MySQL數據庫

2011-08-05 14:02:17

MySQL數據庫異常處理
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久久久久爱 | www.国产.com | 日韩av在线一区二区 | 亚洲一区在线观看视频 | 91久久综合亚洲鲁鲁五月天 | 日韩欧美一级片 | 羞羞视频网站免费观看 | 国产目拍亚洲精品99久久精品 | 91免费观看视频 | 亚洲精品18| 欧美a级成人淫片免费看 | 亚洲逼院| 欧美精品久久久 | 成人在线免费电影 | 午夜免费视频 | 国产视频中文字幕在线观看 | 91精品国产综合久久久密闭 | 亚洲精品综合 | 午夜不卡一区二区 | 亚洲97| 日韩有码一区 | 一级女毛片 | 成人在线免费看 | 美女一区二区在线观看 | 在线a视频网站 | 欧美中文字幕一区二区 | 亚洲黄色在线免费观看 | 日本午夜网 | 国产日韩亚洲欧美 | 亚洲欧美一区在线 | 一级欧美一级日韩片 | 久久婷婷色| 国产亚洲精品久久午夜玫瑰园 | 在线播放国产一区二区三区 | av在线免费看网址 | 男女羞羞视频网站 | 国产精品国产精品 | 夜色www国产精品资源站 | 久久婷婷香蕉热狠狠综合 | 伊人久久精品 | 亚洲国产成人精品久久 |