后台报出一个错误,实在不明白,烦高手解释一下!

jiab 2006-03-07 11:55:15
ERROR [Thread-16] (DBMessageDispose.java:115) - java.io.EOFException
...全文
84 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jiab 2006-03-08
看来没戏了!!
回复
interpb 2006-03-07
你的程序115行处理一个异常

因为你读取得数据源已经到了尽头

try {

}catch(){

} 一下
回复
jiab 2006-03-07
115行是logger.error(e);这句
回复
jiab 2006-03-07
/**
* 从持久层中取出一条消息(任意消息,可以按照消息
* 接收到的顺序进行处理),将其封装成为消息对象并返回。
* 如果没有消息返回为null。
* @return Message 从持久层获取的未处理的消息
*/
public Message LoadMessage() {
/**读取消息**/
DataManager dm = new DataManager();
Connection conn = dm.getConn();
Statement stmt = null;
ResultSet rs = null;
Message message = null;
try {
stmt = conn.createStatement();
String sqlStr = " select * from "+MESSAGE_STORE_TABLE+" where isdelete='"+DELETE_NEW+"' and rownum<2 order by receivetime ";
logger.info("执行的消息读取语句:"+sqlStr);
rs = stmt.executeQuery(sqlStr);
logger.debug("rs="+rs);
if (rs.next()) {
logger.debug("The resultset has result!");
BufferedInputStream in = new BufferedInputStream(rs.getBinaryStream("message"));
ObjectInputStream oIn = new ObjectInputStream(in);
message = (Message)oIn.readObject();
oIn.close();
in.close();
logger.debug("Read message object has finish!");
}
else {
return null;
}
logger.debug("message="+message);
return message;
} catch (Exception e) {
logger.error(e);
e.printStackTrace();
return null;
} finally {
dm.disconn(conn,stmt,rs);
}

}
回复
interpb 2006-03-07
把你的代码贴出来看一下
回复
jiab 2006-03-07
我用e.printStackTrace();输出什么都没有,是不是数据还没有读完却意外中止的意思
回复
interpb 2006-03-07
就是没有数据可以读了
回复
jiab 2006-03-07
已经到了尽头是什么意思???
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2006-03-07 11:55
社区公告
暂无公告