title: Spring update scheduler
body: <p>I have a scheduled job in Spring, I get its cron from my database.
  Every time it is executed, the next execution time is updated. So, if it is configured to run every 10 minutes, I can change the value into the database to schedule that job every 15 minutes.</p>
  
  <p>The problem is that I have to wait for the execution to get the updated cron: if a job is scheduled every 15 minutes and I want to change this value to be every 2 minutes, I have to wait for the next execution (up to 15 minutes) to have this job every 2 minutes.</p>
  
  <p>Is there a way to get this job rescheduled after I update the database?</p>
  
  <p>I thought to destroy and refresh this bean, but it is not working (maybe it is not possible or something was wrong in my implementation). Maybe there is a way to trigger an event to execute method configureTask.</p>
  
  <p>Here the snippet of my scheduled job.</p>
  
  <pre><code>@EnableScheduling
  @Component
  public class MyClass implements SchedulingConfigurer {
  
      private static final String JOB = "My personal task";
  
      @Autowired
      JobRepository jobRepository;
  
      @Override
      public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
          scheduledTaskRegistrar.addTriggerTask(new Runnable() {
              @Override
              public void run() {
                  System.out.println("Hello World!");
              }
          }, new Trigger() {
              @Override
              public Date nextExecutionTime(TriggerContext triggerContext) {
                  JobScheduled byJobNameIgnoreCase = jobRepository.findByJobNameIgnoreCase(JOB); // read from database 
                  String cron = byJobNameIgnoreCase.getCrontab();
                  CronTrigger trigger = new CronTrigger(cron);
                  return trigger.nextExecutionTime(triggerContext);
              }
          });
      }
  
  }
  </code></pre>