java 网页版计时器_java Web 计时器

我用

jsp+servlet+mysql

搞了一个众筹网站。当一个项目发起后,它有一个众筹时间,过了这个时间,项目就会从众筹状态转到另一个状态,当然,这需要在数据库中去操作。那么,如何设计一个计时器,在规定时间将触发,去更改相应的数据库表呢?

Spring+quartz 做定时任务

楼上提到

java.util.Timer

如果要使用,题主需要注意这种情况

public class BadCaseOfTimer {

public static void main(String[] args) {

Timer timer = new Timer();

timer.schedule(new ThrowTask(),1);

timer.schedule(new ThrowTask(),1);

}

static class ThrowTask extends TimerTask{

@Override

public void run() {

System.out.println("runnin.."+System.currentTimeMillis());

throw new RuntimeException();

}

}

}

可以用java.util.Timer类的schedule方法

有一个问题

时间到了以后,从一个状态转到另一个状态,除了改变这个字段的值以外,还有其它需要触发进行的操作么?

如果没有,很可能你不需要一个定时任务。

只需要在数据库中记录项目发起时间和期限,在需要判断状态的时候根据这两个值和当前时间,决定项目的状态。

类似于你的网站里记录用户的生日信息,在页面显示用户年龄。我想没有人会真的在数据库保存年龄然后每天刷新的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值