在做当前这个项目的时候,有个订阅功能会根据当前用户规定的时间可以是每天也可以是(例如周一三四六)这样来定时给用户发信息,但是如何来存储这个timer用户后面用户操作(删除),想过用静态map或者是存储到数据库。
问题1:timer如何完成开始时间周一下午3点之后周三四六下午3点执行方法
问题2:动态可能会在一分钟生成N多个timer,如何管理这些timer
------解决方案--------------------
多个的话得区分好,防止乱掉。
------解决方案--------------------
问题1:timer如何完成开始时间周一下午3点之后周三四六下午3点执行方法
这个,就一个timer好了,每天启动,在timer里判断当天是星期几,是否要执行,如果要,执行内容,如果不要,就跳过,timer完毕好了。比如
timer.schedule(new MyTimerTask(), date, 24 * 60 * 60 * 1000);
MyTimerTask类:
public class MyTimerTask extends TimerTask {
public void run() {
//现计算当天星期几
//然后查询配置或数据库,看当天需要执行哪些任务
if(有任务要运行){
......
}
}
}
第二个问题,没看明白