16 个解决方案
#1
那你要是任务量总是超过10分钟呢? Task就不做了吗?
唯一的办法就是把大任务划分为若干个小任务。~
唯一的办法就是把大任务划分为若干个小任务。~
#2
顶
#3
在数据库上建个作业来执行呢?里面能设置计划,成功失败时的步骤等,比较方便啊~
#4
限制一个相对大的时间,正常情况下都能执行完。特殊的话,直接停掉!
#5
我想问的是TimerTask能停掉正在运行的任务吗?我查了api说的是正在进行的任务不能停掉。
#6
T-bag,没有不能停止的线程。。。
#7
不知道你导数据的方式,如果使用JDBC的ResultSet或者其他类似方式,那么
while (rs.next() && !timeout)
while (rs.next() && !timeout)
#8
请教healer_kx!
#9
看看用 java.util.concurrent.ScheduledThreadPoolExecutor 这个呢?
#10
做个监视Timer,如果超时就把Job的那个Timer使用的Statement一类的东西给Close掉。Job的Timer里抓到异常就回滚。别关闭Connection,否则回滚不了。
#11
试一下楼上的方法。
#12
又见Tbag!
说说你这个Timer里面操作数据库都做了些什么啊?是存文件吗?
是哪个数据库?如果是oracle,可以看看Oracle JOB相关资料。
db2也支持计划任务。
ps:* Break 最喜欢TBAG
说说你这个Timer里面操作数据库都做了些什么啊?是存文件吗?
是哪个数据库?如果是oracle,可以看看Oracle JOB相关资料。
db2也支持计划任务。
ps:* Break 最喜欢TBAG
#13
oracle,都是存储过程,从别的系统导数据,然后做一些计算
#14
如果是存储过程,你调用call.setQueryTimeout就可以让它超时断开了
#15
线程...看门狗....
监视线程
监视线程
#16
监视线程怎样停掉主线程?
#1
那你要是任务量总是超过10分钟呢? Task就不做了吗?
唯一的办法就是把大任务划分为若干个小任务。~
唯一的办法就是把大任务划分为若干个小任务。~
#2
顶
#3
在数据库上建个作业来执行呢?里面能设置计划,成功失败时的步骤等,比较方便啊~
#4
限制一个相对大的时间,正常情况下都能执行完。特殊的话,直接停掉!
#5
我想问的是TimerTask能停掉正在运行的任务吗?我查了api说的是正在进行的任务不能停掉。
#6
T-bag,没有不能停止的线程。。。
#7
不知道你导数据的方式,如果使用JDBC的ResultSet或者其他类似方式,那么
while (rs.next() && !timeout)
while (rs.next() && !timeout)
#8
请教healer_kx!
#9
看看用 java.util.concurrent.ScheduledThreadPoolExecutor 这个呢?
#10
做个监视Timer,如果超时就把Job的那个Timer使用的Statement一类的东西给Close掉。Job的Timer里抓到异常就回滚。别关闭Connection,否则回滚不了。
#11
试一下楼上的方法。
#12
又见Tbag!
说说你这个Timer里面操作数据库都做了些什么啊?是存文件吗?
是哪个数据库?如果是oracle,可以看看Oracle JOB相关资料。
db2也支持计划任务。
ps:* Break 最喜欢TBAG
说说你这个Timer里面操作数据库都做了些什么啊?是存文件吗?
是哪个数据库?如果是oracle,可以看看Oracle JOB相关资料。
db2也支持计划任务。
ps:* Break 最喜欢TBAG
#13
oracle,都是存储过程,从别的系统导数据,然后做一些计算
#14
如果是存储过程,你调用call.setQueryTimeout就可以让它超时断开了
#15
线程...看门狗....
监视线程
监视线程
#16
监视线程怎样停掉主线程?