UNIX操作系统用cron守护进程来在特定的时间和日期运行脚本。Java Development Kit (JDK) 1.3的java.util.Timer类答应开发者设置每隔N毫秒执" />
龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

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

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> UNIX操作系统用cron守护进程来在特定的时间和日期运行脚本。Java Development Kit (JDK) 1.3的java.util.Timer类答应开发者设置每隔N毫秒执

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 


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


  
精彩图集

赞助商链接