2012-01-10 123 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