Java 石英调度器已计划但未启动

Java 石英调度器已计划但未启动,java,mysql,spring,spring-mvc,quartz-scheduler,Java,Mysql,Spring,Spring Mvc,Quartz Scheduler,我尝试调度一个调度器,并且仅在我的调度器启动时打印(仅在此处),当我在QRTZ_触发器表和QRTZ_作业_详细信息表中调度它时打印,但不按时启动。 我的石英舍勒配置像 @Configuration public class QuartzSchedulerConfiguration { @Bean public Scheduler getScheduler() throws SchedulerException { return StdSchedulerFactory.ge

我尝试调度一个调度器,并且仅在我的调度器启动时打印(仅在此处),当我在QRTZ_触发器表和QRTZ_作业_详细信息表中调度它时打印,但不按时启动。 我的石英舍勒配置像

@Configuration
public class QuartzSchedulerConfiguration {
    @Bean
    public Scheduler getScheduler() throws SchedulerException {
    return StdSchedulerFactory.getDefaultScheduler();
    }
}
和quartz.properties文件类似

## QuartzProperties
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount=10
org.quartz.threadPool.
threadsInheritContextClassLoaderOfInitializingThread=true
org.quartz.jobStore.tablePrefix=QRTZ_
#The datasource for the jobstore that is to be used
org.quartz.jobStore.dataSource=myDS
org.quartz.dataSource.myDS.driver=com.mysql.cj.jdbc.Driver
org.quartz.dataSource.myDS.URL=jdbc:mysql://localhost:3306/my_db? 
useSSL=false
org.quartz.dataSource.myDS.user=root
org.quartz.dataSource.myDS.password=1111
org.quartz.dataSource.myDS.maxConnections=20
和服务级别都有,

    @Autowired
private Scheduler scheduler;

public String addFTP(FTPDomain ftpDomain) {
    String msg = "";
    //Start schedule =======================================================
      String str = "2019-01-16 13:10:01"; 
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); 
        LocalDateTime localeDateTime = LocalDateTime.parse(str, formatter);
      System.out.println("Date time is "+localeDateTime);
      try { 
       ZonedDateTime dateTime = ZonedDateTime.of(localeDateTime, ZoneId.of("Asia/Kolkata"));
       if(dateTime.isBefore(ZonedDateTime.now())) {
           msg = "You are schedule a expired Date and time";
          System.out.println(msg);
       }
       JobDetail jobDetail = buildJobDetail(ftpDomain);
       Trigger trigger = buildJobTrigger(jobDetail, dateTime);
       scheduler.scheduleJob(jobDetail, trigger);    // ## here i schedule
       System.out.println(jobDetail.getKey().getName()+"   "+ jobDetail.getKey().getGroup()+""+ "Scheduller Scheduled Successfully!");
      } catch (SchedulerException ex) {
        System.out.println( "Error scheduling email. Please try later!");
   }
 //Stop schedulling=========================================================================
return ftpTransferDaoInterface.addFTP(ftpDomain);
}

 private JobDetail buildJobDetail(FTPDomain ftpDamain) {
    JobDataMap jobDataMap = new JobDataMap();
    jobDataMap.put("destPath", ftpDamain.getServerDestinationPath());
    jobDataMap.put("ip", ftpDamain.getServerIP());
    jobDataMap.put("user", ftpDamain.getServerUser());

    return JobBuilder.newJob(FTPTransferJob.class)
            .withIdentity(UUID.randomUUID().toString(), "schedule-jobs")
            .withDescription("Send schedule Job")
            .usingJobData(jobDataMap)
            .storeDurably().build();
 }

 private Trigger buildJobTrigger(JobDetail jobDetail, ZonedDateTime startAt) {
    return TriggerBuilder.newTrigger()
            .forJob(jobDetail)
            .withIdentity(jobDetail.getKey().getName(), "email-triggers")
            .withDescription("Send Email Trigger")
            .startAt(Date.from(startAt.toInstant()))
            .withSchedule(SimpleScheduleBuilder
                    .simpleSchedule()
                    .withMisfireHandlingInstructionFireNow()
            ).build();
 }
我的石英职业课是

@Component
public class FTPTransferJob extends QuartzJobBean {
protected void executeInternal(JobExecutionContext context)
  throws JobExecutionException {
    System.err.println("Executing Job with key {}"+ 
                          context.getJobDetail().getKey());
    JobDataMap jobDataMap = context.getMergedJobDataMap();
    String destination = jobDataMap.getString("destPath");
    String ip = jobDataMap.getString("ip");
    String user = jobDataMap.getString("user");
    System.err.println("Schedulled Job Executed Here "+destination+", ip 
                                     is "+ip+", user is "+user);
 }
}
有人能找到解决办法吗?谢谢