diff --git a/fine-quartz/src/com/fr/third/v2/org/quartz/impl/jdbcjobstore/JobStoreSupport.java b/fine-quartz/src/com/fr/third/v2/org/quartz/impl/jdbcjobstore/JobStoreSupport.java index 07efbd4c5..004083236 100644 --- a/fine-quartz/src/com/fr/third/v2/org/quartz/impl/jdbcjobstore/JobStoreSupport.java +++ b/fine-quartz/src/com/fr/third/v2/org/quartz/impl/jdbcjobstore/JobStoreSupport.java @@ -1202,25 +1202,25 @@ public abstract class JobStoreSupport implements JobStore, Constants { if (job == null) { try { job = retrieveJob(conn, newTrigger.getJobKey()); + if (job == null) { + throw new JobPersistenceException("The job (" + + newTrigger.getJobKey() + + ") referenced by the trigger does not exist."); + } + + if (job.isConcurrentExectionDisallowed() && !recovering) { + state = checkBlockedState(conn, job.getKey(), state); + } + + if (existingTrigger) { + getDelegate().updateTrigger(conn, newTrigger, state, job); + } else { + getDelegate().insertTrigger(conn, newTrigger, state, job); + } } catch (JobPersistenceException e) { getLog().error(e.getMessage()); } } - if (job == null) { - throw new JobPersistenceException("The job (" - + newTrigger.getJobKey() - + ") referenced by the trigger does not exist."); - } - - if (job.isConcurrentExectionDisallowed() && !recovering) { - state = checkBlockedState(conn, job.getKey(), state); - } - - if (existingTrigger) { - getDelegate().updateTrigger(conn, newTrigger, state, job); - } else { - getDelegate().insertTrigger(conn, newTrigger, state, job); - } } catch (Exception e) { throw new JobPersistenceException("Couldn't store trigger '" + newTrigger.getKey() + "' for '" + newTrigger.getJobKey() + "' job:" + e.getMessage(), e); @@ -2987,6 +2987,7 @@ public abstract class JobStoreSupport implements JobStore, Constants { } catch (SQLException sqle) { getLog().error("Unable to set trigger state to ERROR.", sqle); } + return null; } if (trigger.getCalendarName() != null) {