服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

用jdring设置类似cron的日程提醒

 


unix操作系统用cron守护进程来在特定的时间和日期运行脚本。java development kit (jdk) 1.3的java.util.timer类允许开发者设置每隔n毫秒执行一些任务,但没有类似cron的结构来指明一天或一周中的特定时间。

这个缺口现在被jdring包堵上了,它是olivier dedieu编写的一个java的类似cron的日程安排提醒程序。jdring.zip文件中包含这些部分:

源代码:这不是必需的,可以不管它。
javadoc文档:把这个放到你的docs目录中去。
jar文件:这个文件包含编译好的类,要把它放到你的classpath中去。
使用jdring有两步。第一步要创建一个alarmlistener,这是一个包含一个方法的接口:

void handlealarm(alarmentry entry);

alarmentry参数提供了日程提醒设置在什么时刻的细节。下面是使用alarmlistener的一个简单例子:
import com.jalios.jdring.alarmentry;
import com.jalios.jdring.alarmlistener;

public class buzzing implements alarmlistener {

private string buzz;

public buzzing(string buzz) {
this.buzz = buzz;
}

public void handlealarm(alarmentry entry) {
system.err.println("滴零零……");
system.err.println(buzz);
}

}
使用jdring的第二步是通知一个中央管理者alarmlistener应该在什么时候响铃。这个管理者是alarmmanager的一个实例,它有一个空的构造器。在特定时刻调用日程提醒和cron类似,像下面这样:
alarmmanager.addalarm(minute, hour, day of month, month, day of week, year,
alarmlistener)
下面的示例代码示范了一个设置成在每个小时的第20分钟开始响铃的日程提醒:
import com.jalios.jdring.alarmmanager;
import com.jalios.jdring.pastdateexception;

public class setalarm {

static public void main(string[ ] args) {
alarmmanager mgr = new alarmmanager( );
mgr.addalarm(20, -1, -1, -1, -1, -1, new buzzing( ));
}

}
这个例子示范了如何设置在每个星期五的下午五点提醒:
manager.addalarm(00, 17, -1, -1, calendar.friday, -1, new buzzing());
// java.util.calendar
jdring还可以用来记住一个周年纪念日,像下面这样:
manager.addalarm(00, 12, 20, calendar.march, -1, -1,
new buzzing("记住明天是周年纪念!") );

扫描关注微信公众号