title: Using @DisallowConcurrentExecution in Quartz scheduler
body: <p>I am sorry if this question is too naive,
  I am expecting the jobs to be scheduled so that it executes <strong>one by one, and not parallely.It is executed only once.</strong></p>
  
  <p>From docs, @DisallowConcurrentExecution is</p>
  
  <ul>
  <li>An annotation that marks a {@link Job} class as one that must not have multiple instances executed concurrently (where instance is based-upon a {@link JobDetail} definition - or in other words based upon a {@link JobKey}).</li>
  </ul>
  
  <p>But when I schedule a job with same JobKey, I am getting 
  <code>Failed to schedule a job org.quartz.ObjectAlreadyExistsException</code></p>
  
  <p>If I generate a different JobKey, it is not heeding to <code>@DisallowConcurrentExecution</code> and the job is getting executed in parallel(as mentioned in docs).</p>
  
  <p>Please suggest how can I achieve this, any pointers would really help!</p>
  
  <p>PS: I do not know the jobs that would be scheduled. So, I need some method to dynamically link up the jobs,if the job is already running.</p>