如何创建Java cron作业
我正在编写一个独立的批处理Java应用程序来从YouTube读取数据。我想设置一个cron作业,每小时做一次特定的作业如何创建Java cron作业,java,cron,Java,Cron,我正在编写一个独立的批处理Java应用程序来从YouTube读取数据。我想设置一个cron作业,每小时做一次特定的作业 我搜索并找到了为基本操作而不是Java应用程序执行cron作业的方法。如果您使用的是unix,则需要先编写一个shell脚本来运行Java批处理 之后,在unix中,您可以运行以下命令“crontab-e”来编辑crontab脚本。 要配置crontab,请参阅本文 保存crontab设置。然后等待时间的到来,程序将自动运行 首先,我建议你在开始一件新事情之前一定要先参考一下
我搜索并找到了为基本操作而不是Java应用程序执行cron作业的方法。如果您使用的是unix,则需要先编写一个shell脚本来运行Java批处理 之后,在unix中,您可以运行以下命令“
crontab-e
”来编辑crontab脚本。
要配置crontab,请参阅本文
保存crontab设置。然后等待时间的到来,程序将自动运行 首先,我建议你在开始一件新事情之前一定要先参考一下 我们有
SchedulerFactory
,它根据给定的Cron表达式调度作业
//Create instance of factory
SchedulerFactory schedulerFactory=new StdSchedulerFactory();
//Get schedular
Scheduler scheduler= schedulerFactory.getScheduler();
//Create JobDetail object specifying which Job you want to execute
JobDetail jobDetail=new JobDetail("myJobClass","myJob1",MyJob.class);
//Associate Trigger to the Job
CronTrigger trigger=new CronTrigger("cronTrigger","myJob1","0 0/1 * * * ?");
//Pass JobDetail and trigger dependencies to schedular
scheduler.scheduleJob(jobDetail,trigger);
//Start schedular
scheduler.start();
MyJob.class
public class MyJob implements Job{
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("My Logic");
}
}
您可以将TimerTask用于Cronjobs Main.java
public class Main{
public static void main(String[] args){
Timer t = new Timer();
MyTask mTask = new MyTask();
// This task is scheduled to run every 10 seconds
t.scheduleAtFixedRate(mTask, 0, 10000);
}
}
class MyTask extends TimerTask{
public MyTask(){
//Some stuffs
}
@Override
public void run() {
System.out.println("Hi see you after 10 seconds");
}
}
MyTask.java
public class Main{
public static void main(String[] args){
Timer t = new Timer();
MyTask mTask = new MyTask();
// This task is scheduled to run every 10 seconds
t.scheduleAtFixedRate(mTask, 0, 10000);
}
}
class MyTask extends TimerTask{
public MyTask(){
//Some stuffs
}
@Override
public void run() {
System.out.println("Hi see you after 10 seconds");
}
}
您也可以使用。我已经试过了。但这并没有提供在Cron中运行Java程序的解决方案。@user3138111:为什么不呢?你加了哪一行?如何:
0****java-cp yourpath SomeClass
或@hourly java-cp yourpath SomeClass
我创建了一个helloworld java类来将一个文件写入一个文件。但我无法看到生成的输出文件。这是我的cron作业文本1****java-cp HelloWorld。HelloWorld类包含以下文本PrintWriter out=new PrintWriter(new FileWriter(“/output.txt”,true));out.println(“Ram”);out.close();创建一个temp.sh文件。在temp.sh中,编写脚本来运行java程序。例如:$JAVA\u HOME/JAVA-cp helloworld
。然后在crontab中,配置002temp.sh>/dev/null 2>&1
。此配置使系统每天两点钟运行temp.sh您的“文档”引用了第三方库。。。OP询问如何设置cron作业来启动java程序。您似乎是在代码中设置作业。您是在问如何使用Unix cron吗?如果您只是想要一种让Java应用程序周期性工作的方法,请参阅。这个内置Java类将根据您指定的频率运行给定的。这种方法包含在Java中,不需要像cron
这样的外部实用程序。。