在 Linux 系统中,JSP 定时任务的设置通常是通过使用 Java 的定时任务执行框架来实现的,例如 Quartz
wget http://www.quartz-scheduler.org/download/quartz-2.3.2.tar.gz
tar -zxvf quartz-2.3.2.tar.gz
cd quartz-2.3.2
javac -classpath lib/*:*.jar org/quartz/Job.java org/quartz/impl/StdSchedulerFactory.java org/quartz/JobExecutionContext.java org/quartz/JobExecutionException.java
package org.quartz;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class HelloJob implements Job {
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
System.out.println("Hello, Quartz!");
}
}
package org.quartz;
import org.quartz.impl.StdSchedulerFactory;
public class SchedulerFactory {
public static void main(String[] args) {
try {
// 获取调度器
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
// 定义 JobDetail
JobDetail job = JobBuilder.newJob(HelloJob.class)
.withIdentity("job1", "group1")
.build();
// 定义触发器
SimpleScheduleBuilder scheduleBuilder = SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(10)
.repeatForever();
// 调度任务
scheduler.scheduleJob(job, scheduleBuilder);
// 启动调度器
scheduler.start();
} catch (SchedulerException e) {
e.printStackTrace();
}
}
}
javac -classpath lib/*:*.jar SchedulerFactory.java
java -classpath lib/*:*.jar org.quartz.SchedulerFactory
现在,每隔 10 秒,你将在控制台看到 “Hello, Quartz!” 的输出。你可以根据需要调整 JobDetail 和 SimpleScheduleBuilder 的参数来实现不同的定时任务。
注意:在实际生产环境中,你可能需要将定时任务部署到应用服务器(如 Tomcat)上,并使用数据库或其他持久化存储来保存任务配置。这超出了本示例的范围,但你可以查阅 Quartz 官方文档了解更多详细信息。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。