title: The job referenced
body: <p>I'm having some trouble successfully scheduling a job without getting the error mentioned in the title, specifically: <code>The job (CRAWLS.my_repos) referenced by the trigger does not exist. [See nested exception: org.quartz.JobPersistenceException: The job (CRAWLS.my_repos) referenced by the trigger does not exist.]</code></p>
  
  <p>Here's a look at the code...of which, everything seems like it should be okay.</p>
  
  <p>The runJob method...the main thing to notice is that it's failing in this line: <code>m_scheduler.scheduleJob(trigger);</code> The rest of the method is there in case the rest of it would be useful.</p>
  
  <pre><code>public void runJob(JobInfo jobInfo, 
          com.lawson.search.spi.common.Properties jobProperties)
  {
      try {
          JobDataMap jobDataMap = QuartzUtils.createJobDataMapFromLesProperties(jobProperties);
          if (jobExists(jobInfo)) {
              m_scheduler.triggerJob(jobKey(jobInfo.getName(), jobInfo.getGroup()), jobDataMap);
          } else {
              JobDetail job = QuartzUtils.createJobDetailFromJobInfo(jobInfo);
              Trigger trigger = newTrigger()
                  .forJob(job)
                  .withIdentity(getImmediateTriggerName(jobInfo))
                  .build();
              m_scheduler.scheduleJob(trigger);
          }
      } catch (SchedulerException e) {
          String msg = "runJob: " + jobInfo;
          if (s_log.isDebugEnabled()) {
              s_log.debug(msg, e);
          }
          throw new JobSchedulerException(msg, e);
      }
  }
  </code></pre>
  
  <p>The <code>createJobDetailFromJobInfo()</code> method is simple, but important:</p>
  
  <pre><code>static JobDetail createJobDetailFromJobInfo(JobInfo theJobInfo)
  {
    JobDetail detail = newJob(QuartzJobAdapter.class)
      .withIdentity(theJobInfo.getName(), theJobInfo.getGroup())
      .storeDurably()
      .build();
    return detail;
  }
  </code></pre>
  
  <p>The only other important method that I can think of would be the <code>getImmediateTriggerName()</code> method which I think may be causing an issue...but I don't know why.</p>
  
  <pre><code>private String getImmediateTriggerName(JobInfo jobInfo)
  {
      return jobInfo.getName() + "#" + jobInfo.getGroup() + ":" + System.currentTimeMillis();
  }
  </code></pre>
  
  <p>Any help would be appreciated.</p>