Проблема с простой конфигурацией кварца, которая просто не работает для меня. У меня есть простая задача «HitUrl», и я хотел бы создать два триггера в xml, которые передают разные URL-адреса в задание. К сожалению, когда вы пытаетесь получить доступ к переданному значению в Job (в Java), возвращается null.Quartz XML - одиночный триггер, несколько заданий, карта данных заданий
XML конфигурации
<job-scheduling-data
xmlns="http://www.quartz-scheduler.org/xml/JobSchedulingData"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.quartz-scheduler.org/xml/JobSchedulingData http://www.quartz-scheduler.org/xml/job_scheduling_data_2_0.xsd"
version="1.8">
<schedule>
<!-- Executes Hit URL Standard Job -->
<job>
<name>HitURL</name>
<group>DEFAULT</group>
<job-class>standardjobs.HitUrl</job-
</job>
<trigger>
<cron>
<name>HitFirstURL</name>
<group>DEFAULT</group>
<job-name>HitURL</job-name>
<job-data-map>
<entry>
<key>url</key>
<value>itworked</value>
</entry>
</job-data-map>
<cron-expression>0 0/1 * 1/1 * ? *</cron-expression>
</cron>
</trigger>
</schedule>
</job-scheduling-data>
Java Code
package standardjobs;
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class HitUrl implements Job {
@Override
public void execute(final JobExecutionContext ctx) throws JobExecutionException {
System.out.println("================= HIT URL EXECUTING =======================");
//Retrieve the URL keypair from the job data map
JobDataMap jobDataMap = ctx.getJobDetail().getJobDataMap();
String url = jobDataMap.getString("url");
System.out.println("Hitting url "+url); //Just says "Hitting url: null"
}
}
Любые идеи, где я собираюсь здесь не так?
Если ответ Яны Моравека был правильным и помог вам решить вашу проблему, почему вы не приняли их ответ? – walen