Eclipse下设断点,一执行到“rs = pstmt.executeQuery()” 线程当即死掉,而且没有抛出任何异常!即使加了pstmt.setQueryTimeout(1000)也没有异常抛出!而且更奇怪的是,分别用两台机器做web server,一台没有问题,另一台就不行。原以为是java堆栈空间问题,在catlina.bat加了set JAVA_OPTS=-Xms256m -Xmx512m,没有效果。都是Tomcat5.5,配置完全一样。Oracle9i。有问题的是XP,没有问题的是Win2000。sql语句复杂了点,但在PL/SQL下执行正常,0.1秒之内出结果,而且结果集只有1条记录。
{
List result = new ArrayList();
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
conn = App.ds.getConnection();
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();//导致线程dead的语句
while (rs.next())
{
//循环
} } catch (Exception e)
{
e.printStackTrace();
} finally
{
close(rs);
close(pstmt);
close(conn);
}
return result;
}