|
|
|
@ -49,17 +49,20 @@ public class JobScheduleHelper { |
|
|
|
|
} |
|
|
|
|
logger.info(">>>>>>>>> init xxl-job admin scheduler success."); |
|
|
|
|
|
|
|
|
|
Connection conn = null; |
|
|
|
|
while (!scheduleThreadToStop) { |
|
|
|
|
|
|
|
|
|
// Scan Job
|
|
|
|
|
long start = System.currentTimeMillis(); |
|
|
|
|
|
|
|
|
|
Connection conn = null; |
|
|
|
|
Boolean connAutoCommit = null; |
|
|
|
|
PreparedStatement preparedStatement = null; |
|
|
|
|
|
|
|
|
|
boolean preReadSuc = true; |
|
|
|
|
try { |
|
|
|
|
if (conn==null || conn.isClosed()) { |
|
|
|
|
conn = XxlJobAdminConfig.getAdminConfig().getDataSource().getConnection(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
conn = XxlJobAdminConfig.getAdminConfig().getDataSource().getConnection(); |
|
|
|
|
connAutoCommit = conn.getAutoCommit(); |
|
|
|
|
conn.setAutoCommit(false); |
|
|
|
|
|
|
|
|
|
preparedStatement = conn.prepareStatement( "select * from xxl_job_lock where lock_name = 'schedule_lock' for update" ); |
|
|
|
@ -169,11 +172,27 @@ public class JobScheduleHelper { |
|
|
|
|
} finally { |
|
|
|
|
|
|
|
|
|
// commit
|
|
|
|
|
try { |
|
|
|
|
conn.commit(); |
|
|
|
|
} catch (SQLException e) { |
|
|
|
|
if (!scheduleThreadToStop) { |
|
|
|
|
logger.error(e.getMessage(), e); |
|
|
|
|
if (conn != null) { |
|
|
|
|
try { |
|
|
|
|
conn.commit(); |
|
|
|
|
} catch (SQLException e) { |
|
|
|
|
if (!scheduleThreadToStop) { |
|
|
|
|
logger.error(e.getMessage(), e); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
try { |
|
|
|
|
conn.setAutoCommit(connAutoCommit); |
|
|
|
|
} catch (SQLException e) { |
|
|
|
|
if (!scheduleThreadToStop) { |
|
|
|
|
logger.error(e.getMessage(), e); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
try { |
|
|
|
|
conn.close(); |
|
|
|
|
} catch (SQLException e) { |
|
|
|
|
if (!scheduleThreadToStop) { |
|
|
|
|
logger.error(e.getMessage(), e); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -204,12 +223,7 @@ public class JobScheduleHelper { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
if (conn != null) { |
|
|
|
|
try { |
|
|
|
|
conn.close(); |
|
|
|
|
} catch (SQLException e) { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
logger.info(">>>>>>>>>>> xxl-job, JobScheduleHelper#scheduleThread stop"); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|