title: Quartz dont recover Job
body: <p>I use:</p>
  
  <ul>
  <li>Spring 4.2.9 </li>
  <li>PostgreSQL </li>
  <li>Quartz 2.3.0</li>
  <li>Java 8</li>
  </ul>
  
  <p>I have some problems with recovery job in cluster servers... I have 2 test servers in cluster (1 DB).</p>
  
  <p>Scheduler work fine, but when I stop tomcat (1) where Job is running, on another server (2) job is not recover...</p>
  
  <p>If I restart tomcat #2, then scheduler start work, if I start tomcat #1, when tomcat #2 work, quartz take work to tomcat #1. Work very good, but</p>
  
  <p>First question: I need when tomcat #1 is stopped, tomcat #2 will be start Job without restart...</p>
  
  <p>Second question: And what <strong>jdbcjobstore</strong> better for me? <strong>JobStoreTX</strong> or <strong>JobStoreCMT</strong> ? In work cluster, i have 4 server on Spring 4.2.9</p>
  
  <p>Sorry for my English and Thank you very much for you answers!</p>
  
  <p>Properties Quartz, @Bean in my project</p>
  
  <pre><code>Properties prop = new Properties();
  prop.put("org.quartz.threadPool.class","org.quartz.simpl.SimpleThreadPool");
  prop.put("org.quartz.threadPool.threadCount", "4");
  prop.put("org.quartz.jobStore.misfireThreshold", "20000");
  prop.put("quartz.scheduler.instanceName", "ServerScheduler");
  prop.put("org.quartz.scheduler.instanceId", "AUTO");
  prop.put("org.quartz.scheduler.skipUpdateCheck", "true");
  prop.put("org.quartz.scheduler.instanceId", "IS_CLUSTERED");
  prop.put("org.quartz.scheduler.jobFactory.class","org.quartz.simpl.SimpleJobFactory");
  prop.put("org.quartz.jobStore.class","org.quartz.impl.jdbcjobstore.JobStoreCMT");
  prop.put("org.quartz.jobStore.driverDelegateClass","org.quartz.impl.jdbcjobstore.PostgreSQLDelegate");
  prop.put("org.quartz.jobStore.dataSource", "myDS");
  prop.put("org.quartz.jobStore.nonManagedTXDataSource", "myDS");
  prop.put("org.quartz.jobStore.tablePrefix", "QRTZ_");
  prop.put("org.quartz.jobStore.isClustered", "true");
  prop.put("org.quartz.dataSource.myDS.driver", "org.postgresql.Driver");
  prop.put("org.quartz.dataSource.myDS.URL", url);
  prop.put("org.quartz.dataSource.myDS.user", user);
  prop.put("org.quartz.dataSource.myDS.password", password);
  prop.put("org.quartz.dataSource.myDS.maxConnections", "4");
  </code></pre>
  
  <p>My Job and Trigger</p>
  
  <pre><code>JobDetail job = newJob(QuartzStockTask.class)
                  .withIdentity("Job " + "1", "Job group " + "11")
                  .requestRecovery(true)
                  .build();
  
  Trigger sTrigger1 = newTrigger()
                  .withIdentity("Trig " + "1", "Trig group " + "11")
                  .startNow()
                  .withSchedule(simpleSchedule()
                          .withIntervalInSeconds(10)
                          .repeatForever())
                  .build();
  
  scheduler.scheduleJob(job, sTrigger1);
  </code></pre>