为什么使用定时器时,java.util.TimerTask中有获得数据库连接的任务不执行且无异常?

changflow 2007-07-03 04:23:15
任务代码如下:
static class MyTask extends java.util.TimerTask {
public void run() {
System.out.println("timer.run()");
DBTools d = new DBTools();
Connection conn = null;
PreparedStatement prst = null;
ResultSet rs = null;
try {
conn = d.getMSConn();
prst = conn.prepareStatement("select optiondate from A1A002Log");
rs = prst.executeQuery();
while (rs.next()) {
System.out.println(rs.getString(1));
}
} catch (SQLException ex) {
ex.printStackTrace();
}finally{
try {
if (rs != null) {
rs.close();
}
if (prst != null) {
prst.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException ex1) {
ex1.printStackTrace();
}
}


}
}
这段程序只打印出timer.run()便无反应,但在debug中单步执行均能正常访问数据库。是不是因为这个任务时间太长而不能执行呢?请高手指点,谢谢!
...全文
367 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
imA 2007-07-04
  • 打赏
  • 举报
回复
你说的无反应是什么现象?是输出timer.run()后便没有其它的输出了?


检查你的查询是否查询出结果了,并且检查你的timer是不是定义的执行一次就结束了。


要看你的调用代码,还要看你的查询是否查询出了结果数据

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧