Планирование работы Quartz

Я хочу разработать задание кварца, которое будет выполняться в определенное время, указанное в задании. Но пока я запускаю задание, оно начинается не в то время, которое указано в коде.

Пожалуйста помоги.

Вот мой код:

import java.util.TimeZone;

import org.quartz.CronScheduleBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;

public class CronScheluderForActivityMilestone {

public boolean CronScheluderForActivityMilestone() throws Exception {

    SchedulerFactory sf = new StdSchedulerFactory();
    Scheduler sche = sf.getScheduler();
    sche.start();
    JobDetail jDetail = new JobDetail("SendMailOnActivityMileStone", "SendMailOnActivityMileStone", ActivityMileStoneSendMail.class);

    Trigger trigger = TriggerBuilder.newTrigger()
            .withIdentity("mytriggerForActivityMileStone", "SendMailOnActivityMileStone")
            .withSchedule(CronScheduleBuilder.dailyAtHourAndMinute(19, 00).inTimeZone(TimeZone.getTimeZone("Asia/Calcutta")))
            .forJob("SendMailOnActivityMileStone", "SendMailOnActivityMileStone")
            .build();

   sche.scheduleJob(jDetail, trigger);      
    return true;    
   }
  }

person Andy    schedule 10.03.2015    source источник
comment
Можно попробовать без установки TimeZone? Кроме того, поскольку JobDetail — это интерфейс, можете ли вы заменить его ниже? JobDetail jDetail = newJob(ActivityMileStoneSendMail.class).withIdentity(SendMailOnActivityMileStone, SendMailOnActivityMileStone).build();   -  person Onur Aktaş    schedule 10.03.2015


Ответы (1)


Вы должны изменить конфигурацию inTimeZone следующим образом:

Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger3", "group1")
.withSchedule(weeklyOnDayAndHourAndMinute(DateBuilder.WEDNESDAY, 10, 42)
.inTimeZone(TimeZone.getTimeZone("America/Los_Angeles")))
.forJob(job)
.build();

inTimeZone принадлежит withSchedule()

person diego matos - keke    schedule 19.12.2016