科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道用JDring包设置类似于 cron的日程提醒

用JDring包设置类似于 cron的日程提醒

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

用JDring包设置类似于 cron的日程提醒

作者:baocl 来源:赛迪网技术社区 2007年11月15日

关键字: 日程提醒 Cron JDring

  • 评论
  • 分享微博
  • 分享邮件

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("记住明天是周年纪念!") );

查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章