2022-04-01 17:01:05.704 [main] [INFO ] [org.quartz.impl.jdbcjobstore.JobStoreTX] - Freed 0 triggers from 'acquired' / 'blocked' state.
2022-04-01 17:01:06.816 [main] [INFO ] [org.quartz.core.QuartzScheduler] - Scheduler schedulerFactoryBean_$_NON_CLUSTERED shutting down.
2022-04-01 17:01:06.817 [main] [INFO ] [org.quartz.core.QuartzScheduler] - Scheduler schedulerFactoryBean_$_NON_CLUSTERED paused.
2022-04-01 17:01:06.821 [main] [INFO ] [org.quartz.core.QuartzScheduler] - Scheduler schedulerFactoryBean_$_NON_CLUSTERED shutdown complete.
protected void recoverJobs(Connection conn) throws JobPersistenceException { try { int rows = this.getDelegate().updateTriggerStatesFromOtherStates(conn, "WAITING", "ACQUIRED", "BLOCKED"); rows += this.getDelegate().updateTriggerStatesFromOtherStates(conn, "PAUSED", "PAUSED_BLOCKED", "PAUSED_BLOCKED"); this.getLog().info("Freed " + rows + " triggers from 'acquired' / 'blocked' state."); this.recoverMisfiredJobs(conn, true); List<OperableTrigger> recoveringJobTriggers = this.getDelegate().selectTriggersForRecoveringJobs(conn); this.getLog().info("Recovering " + recoveringJobTriggers.size() + " jobs that were in-progress at the time of the last shut-down."); Iterator i$ = recoveringJobTriggers.iterator(); while(i$.hasNext()) { OperableTrigger recoveringJobTrigger = (OperableTrigger)i$.next(); if (this.jobExists(conn, recoveringJobTrigger.getJobKey())) { recoveringJobTrigger.computeFirstFireTime((Calendar)null); this.storeTrigger(conn, recoveringJobTrigger, (JobDetail)null, false, "WAITING", false, true); } } this.getLog().info("Recovery complete."); List<TriggerKey> cts = this.getDelegate().selectTriggersInState(conn, "COMPLETE"); Iterator i$ = cts.iterator(); while(i$.hasNext()) { TriggerKey ct = (TriggerKey)i$.next(); this.removeTrigger(conn, ct); } this.getLog().info("Removed " + cts.size() + " 'complete' triggers."); int n = this.getDelegate().deleteFiredTriggers(conn); this.getLog().info("Removed " + n + " stale fired job entries."); } catch (JobPersistenceException var7) { throw var7; } catch (Exception var8) { throw new JobPersistenceException("Couldn't recover jobs: " + var8.getMessage(), var8); } }
从打印的日志上看,大概是红色的代码块出了问题。
跟踪代码进入,里头是去据库取数据。
那么我猜测大概是由于无法获取数据库的数据导致错误。
排除数据库版本的语法问题,
其次排查是否数据库名称区分大小写。
经过分析数据库版本可以排除问题,那么剩下就是表名的大小写问题了。
查询数据库配置,是区分大小写的。
所以修改数据配置。
原来Linux下的MySQL默认是区分表名大小写的,通过如下设置,可以让MySQL不区分表名大小写: 1、用root登录,修改 /etc/my.cnf; 2、在[mysqld]节点下,加入一行: lower_case_table_names=1 重启mysql服务systemctl restart mysqld
再次启动系统~~~
正常。。。。。。。。。。。