Chinaunix首页 | 论坛 | 博客
  • 博客访问: 274009
  • 博文数量: 757
  • 博客积分: 40040
  • 博客等级: 大将
  • 技术积分: 4935
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-09 12:37
文章分类

全部博文(757)

文章存档

2011年(1)

2008年(756)

我的朋友

分类:

2008-09-09 12:39:51

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

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

  源代码:这不是必需的,可以不管它。

  Javadoc文档:把这个放到你的docs目录中去。

  Jar文件:这个文件包含编译好的类,要把它放到你的classpath中去。

  使用JDring有两步。第一步要创建一个AlListener,这是一个包含一个方法的接口:

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(AlEntry entry) {
System.err.println("滴零零……");
System.err.println(buzz);
}
} 

  使用JDring的第二步是通知一个中央管理者AlarmListener应该在什么时候响铃。这个管理者是AlManager的一个实例,它有一个空的构造器。在特定时刻调用日程提醒和cron类似,像下面这样:

AlarmManager.addAlarm(minute, hour, day of month, month, day of week, year,
AlListener) 

  下面的示例代码示范了一个设置成在每个小时的第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.addAl(20, -1, -1, -1, -1, -1, new Buzzing( ));
}
} 

  这个例子示范了如何设置在每个星期五的下午五点提醒:

manager.addAl(00, 17, -1, -1, Calendar.FRIDAY, -1, new Buzzing());
// java.util.Calendar 

  JDring还可以用来记住一个周年纪念日,像下面这样:

manager.addAl(00, 12, 20, Calendar.MARCH, -1, -1,
new Buzzing("记住明天是周年纪念!") ); 

【责编:John】

--------------------next---------------------

阅读(128) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~