4CPU服务器的JAVA运行问题 和服务器没有关系。应该是你程序的问题,在statement.close()方法调用后,还有对statement的操作么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的代码有问题吧??和CPU没什么关系的说。 和CPU没有任何关系,原因在于你把Statement或者是ResultSet关闭之后,有对记录集的操作,当然会出现错误 没有有关系。我在4CPU上没有问题。你用的什么数据库呀?oracle好像不会这么说、 你的操作顺序一定是出现了下面的形式: ......; Statement st=null; Connection con=null; ResultSet rs=null; try{ con=...; st=...; rs=...; ....; con.close(); st.close(); rs.close(); } catch(SQLException sql){} rs.getString(1); ..... 同意上面的,如果你认为是由于多cpu的问题,可以在单cpu的机器上测试一下,答案请贴一下。 呵呵不是你有多个cpu就可以认为java出错了java开发人员的cpu可能更多 Connection sqlConn = null; Statement stmQuery = null; ResultSet rstResult = null; ArrayList list = new ArrayList(); try { sqlConn = JNDIPool.getConnection("SMS_WEBAPPS"); stmQuery = sqlConn.createStatement(); rstResult = stmQuery.executeQuery(sql.toString()); while (rstResult.next()) { Logo logo = new Logo(); logo.setId(rstResult.getInt("id")); logo.setLogoId(rstResult.getString("logo_id")); logo.setType(rstResult.getString("type")); logo.setLogoTypeId(rstResult.getInt("type_id")); logo.setFirstType(rstResult.getString("first_type")); logo.setSecondType(rstResult.getString("second_type")); logo.setDownload(rstResult.getInt("download")); logo.setFavour(rstResult.getInt("favour")); logo.setSubject(rstResult.getString("subject")); logo.setRecommend(rstResult.getInt("recommend")); logo.setKeyword(rstResult.getString("keyword")); logo.setComment(rstResult.getString("comment")); logo.setTime(rstResult.getString("time")); logo.setAuthor(rstResult.getString("author")); logo.setGender(rstResult.getByte("gender")); logo.setPublish(rstResult.getByte("publish")); list.add(logo); } rstResult.close(); stmQuery.close(); rstResult = null; stmQuery = null; } catch (Exception ex) { System.err.println("[LogoDigestHandle:handleRequest]" + sql.toString()); ex.printStackTrace(); return QUERY_FAIL; } finally { try { sqlConn.close(); sqlConn = null; } catch (Exception ex) { } } request.setAttribute(RESULTSET_ENTRY, list); return QUERY_SUCCESS; } 我用的是Mysql数据库服务器,Driver是gjt的.JSP容器是resin,我在单机上运行时没问题,但是移到服务器上,很多人访问时,就有问题了. 我在数据库操作那里加上synchroinzed(this){}就没有问题了,但量效率很低,所以问问大家有没有好的办法. 不是吧!看你的例子代码,应该是在 JSP 或者 servlet zhong中!你不是将上面的代码定义在 JSP中的 <%! %>之间吧?这样的话,多个对同一 jsp 的访问是共用同一个 statement 的哦!如果其他人在操作时,另外的人操作完成的话,肯定会产生你那样的异常的呀! java新建一个文件夹和文件 thanks 解决就给分 简单的swing Pane 怎么用java实现修改unix下一些用户的口令? 一个数据库的小问题,大虾们来帮我分析一下 [求助]请问怎样让JTable中的一列值不能编辑? 关于串行通讯问题,缺一个dll文件,谁提供一个? 请教一个滚动面板(JScrollPane)使用的问题(非常常见)! java中怎么用程序去控制一个字符串回车换行输出? 谁能告诉我 如何输出 Ctrl "字符"?? 关于类型转换,向数据库中插值的问题。
你用的什么数据库呀?
oracle好像不会这么说、
......;
Statement st=null;
Connection con=null;
ResultSet rs=null;
try{
con=...;
st=...;
rs=...;
....;
con.close();
st.close();
rs.close();
}
catch(SQLException sql){}
rs.getString(1);
.....
Statement stmQuery = null;
ResultSet rstResult = null; ArrayList list = new ArrayList(); try { sqlConn = JNDIPool.getConnection("SMS_WEBAPPS");
stmQuery = sqlConn.createStatement(); rstResult = stmQuery.executeQuery(sql.toString()); while (rstResult.next()) { Logo logo = new Logo(); logo.setId(rstResult.getInt("id"));
logo.setLogoId(rstResult.getString("logo_id"));
logo.setType(rstResult.getString("type"));
logo.setLogoTypeId(rstResult.getInt("type_id"));
logo.setFirstType(rstResult.getString("first_type"));
logo.setSecondType(rstResult.getString("second_type"));
logo.setDownload(rstResult.getInt("download"));
logo.setFavour(rstResult.getInt("favour"));
logo.setSubject(rstResult.getString("subject"));
logo.setRecommend(rstResult.getInt("recommend"));
logo.setKeyword(rstResult.getString("keyword"));
logo.setComment(rstResult.getString("comment"));
logo.setTime(rstResult.getString("time"));
logo.setAuthor(rstResult.getString("author"));
logo.setGender(rstResult.getByte("gender"));
logo.setPublish(rstResult.getByte("publish")); list.add(logo); } rstResult.close();
stmQuery.close(); rstResult = null;
stmQuery = null; } catch (Exception ex) { System.err.println("[LogoDigestHandle:handleRequest]" + sql.toString());
ex.printStackTrace();
return QUERY_FAIL; } finally { try {
sqlConn.close();
sqlConn = null;
} catch (Exception ex) {
} } request.setAttribute(RESULTSET_ENTRY, list);
return QUERY_SUCCESS; }
看你的例子代码,应该是在 JSP 或者 servlet zhong中!
你不是将上面的代码定义在 JSP中的 <%! %>之间吧?
这样的话,多个对同一 jsp 的访问是共用同一个 statement 的哦!
如果其他人在操作时,另外的人操作完成的话,肯定会产生你那样的异常的呀!