除了可以对实现了Runnable接口的java类进行调度以外,还可以直接调度外部的应用程序,例如windows或linux下的某个可执行程序,如下是代码示例:
String[] command = { "C:\\tomcat\\bin\\catalina.bat", "start" }; String[] envs = { "CATALINA_HOME=C:\\tomcat", "JAVA_HOME=C:\\jdks\\jdk5" }; File directory = "C:\\MyDirectory"; ProcessTask task = new ProcessTask(command, envs, directory); cron4jPlugin.addTask(task); me.add(cron4jPlugin);
如上所示,只需要创建一个ProcessTask对象,并让其指向某个应用程序,再通过addTask添加进来,就可以实现对其的调度,这种方式实现类似于每天半夜备份服务器数据库并打包成zip的功能,变得极为简单便捷。更加详细的用法,可以看一下Cron4jPlugin.java源代码中的注释。