2012-01-10 48 views
0

我在應用程序的錯誤日誌文件中發現了以下錯誤。I/O錯誤:套接字關閉

「ERROR [org.sample.dao.hibernate.LoginDAOImpl] org.sample.dao.hibernate.LogonDAOImpl - 異常釣到在[getHostIdFromDB]方法: - IO錯誤:插槽關閉」

以下是一個從數據庫中獲取價值的片段。

try { 
    session = getHibernateTemplate().getSessionFactory().openSession(); 
    conn = session.connection(); 
    stmt = conn.createStatement(); 
    stmt.execute("select GLOBAL_VAR.FN_GET_HOST from dual"); 
    rs = stmt.getResultSet(); 
    rs.next(); 
    sysdate = (String) rs.getObject(1); 
    log.debug(this.getClass().getName() + " - [getHostIdFromDB] - Exit"); 
    return sysdate; 
    } catch (Exception exp) { 
     log.error(this.getClass().getName() + " - Exception caught in [getHostIdFromDB] " 
        + exp.getMessage()); 
    } 

由於這個錯誤是在錯誤日誌文件中記錄一次,我可以猜測,這可能是一些網絡連接問題。但我想知道更多關於這個錯誤(IO錯誤:套接字關閉),這是根本原因。任何澄清將是明顯的。

回答

2

連接超時可能是由於驅動程序/數據庫問題或因爲結果是查詢時間過長或者查詢執行時間過長請嘗試移動到一個連接C3p0的連接,看看你是否得到了更好的結果

+0

Aravind,謝謝你的建議 – Marshal 2012-01-10 16:59:25

+0

@Marshal永遠歡迎你: ) – 2012-01-11 05:03:40