读书人

java 定时任务的有关问题

发布时间: 2013-03-12 11:19:35 作者: rapoo

java 定时任务的问题
求一个以月为单位的定时任务(比如每月的1号执行一次任务),非web应用,所以不能用spring 的quatz。

部分代码
private static ScheduledExecutorService service = Executors.newScheduledThreadPool(3);

service.scheduleWithFixedDelay(
new AdminReqTask(), 1, periodtime, TimeUnit.SECONDS);

public class AdminReqTask implements Runnable {

.......
.......

}

代码中的periodtime,不知道怎么办,因为一个月的时间不固定。求大神帮忙!先谢了
[解决办法]
得到某个月的天数

Calendar cal = Calendar.getInstance();

int month=cal.getActualMaximum(Calendar.DAY_OF_MONTH);

这里有示例,你可以参考一下:
http://fulong258.blog.163.com/blog/static/1789504420071126102524419/
[解决办法]
这个很简单啊,你的定时任务里面可以设置周期是一天,然后在任务的逻辑里面加入判断,如果当前日期是1号就继续执行调度任务,如果不是直接略过就可以了。

读书人网 >J2SE开发

热点推荐