2018-05-07 20:42:16,051 [Quartz Scheduler [adminQuartzScheduler]] INFO o.s.scheduling.quartz.SchedulerFactoryBean -[SchedulerFactoryBean.java:708]- Starting Quartz Scheduler now, after delay of 10 seconds 2018-05-07 20:42:16,097 [Quartz Scheduler [adminQuartzScheduler]] ERROR com.alibaba.druid.filter.stat.StatFilter -[StatFilter.java:149]- merge sql error, dbType h2, druid-1.1.8, sql : SELECT * FROM QRTZ_LOCKS WHERE SCHED_NAME = 'adminQuartzScheduler' AND LOCK_NAME = ? FOR UPDATE com.alibaba.druid.sql.parser.ParserException: syntax error, error in :' = ? FOR UPDATE', expect FOR, actual FOR pos 88, line 1, column 85, token FOR at com.alibaba.druid.sql.parser.SQLParser.printError(SQLParser.java:284) at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:423) at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:72) at com.alibaba.druid.sql.visitor.ParameterizedOutputVisitorUtils.parameterize(ParameterizedOutputVisitorUtils.java:88) at com.alibaba.druid.sql.visitor.ParameterizedOutputVisitorUtils.parameterize(ParameterizedOutputVisitorUtils.java:50) at com.alibaba.druid.filter.stat.StatFilter.mergeSql(StatFilter.java:147) at com.alibaba.druid.filter.stat.StatFilter.createSqlStat(StatFilter.java:648) at com.alibaba.druid.filter.stat.StatFilter.statementPrepareAfter(StatFilter.java:311) at com.alibaba.druid.filter.FilterEventAdapter.connection_prepareStatement(FilterEventAdapter.java:124) at com.alibaba.druid.filter.FilterChainImpl.connection_prepareStatement(FilterChainImpl.java:473) at com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl.prepareStatement(ConnectionProxyImpl.java:342) at com.alibaba.druid.pool.DruidPooledConnection.prepareStatement(DruidPooledConnection.java:349) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.quartz.impl.jdbcjobstore.AttributeRestoringConnectionInvocationHandler.invoke(AttributeRestoringConnectionInvocationHandler.java:73) at com.sun.proxy.$Proxy140.prepareStatement(Unknown Source) at org.quartz.impl.jdbcjobstore.StdRowLockSemaphore.executeSQL(StdRowLockSemaphore.java:88) at org.quartz.impl.jdbcjobstore.DBSemaphore.obtainLock(DBSemaphore.java:113) at org.quartz.impl.jdbcjobstore.JobStoreSupport.doCheckin(JobStoreSupport.java:3320) at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.manage(JobStoreSupport.java:3920) at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.initialize(JobStoreSupport.java:3905) at org.quartz.impl.jdbcjobstore.JobStoreSupport.schedulerStarted(JobStoreSupport.java:692) at org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:539) at org.quartz.impl.StdScheduler.start(StdScheduler.java:142) at org.springframework.scheduling.quartz.SchedulerFactoryBean$1.run(SchedulerFactoryBean.java:711) 2018-05-07 20:42:16,129 [Quartz Scheduler [adminQuartzScheduler]] INFO o.s.scheduling.quartz.LocalDataSourceJobStore -[JobStoreSupport.java:3629]- ClusterManager: detected 1 failed or restarted instances. 2018-05-07 20:42:16,129 [Quartz Scheduler [adminQuartzScheduler]] INFO o.s.scheduling.quartz.LocalDataSourceJobStore -[JobStoreSupport.java:3488]- ClusterManager: Scanning for instance "Jeping-PC1525681694826"'s failed in-progress jobs. 2018-05-07 20:42:16,144 [Quartz Scheduler [adminQuartzScheduler]] INFO org.quartz.core.QuartzScheduler -[QuartzScheduler.java:547]- Scheduler adminQuartzScheduler_$_jiaenping1525696922924 started.
原提问者GitHub用户jeping
这个错误可能是由于使用了不正确的语法或者H2数据库版本不支持MERGE语法导致的。在H2数据库中,MERGE语句用于插入或更新表中的数据。如果您使用了不正确的语法或者H2数据库版本不支持MERGE语法,将会导致语法解析异常。
为了解决这个问题,您可以尝试以下几个方法:
检查MERGE语句的语法:请确保您的MERGE语句语法正确,并且符合H2数据库的语法规范。您可以参考H2官方文档来了解MERGE语句的语法规则。
检查H2数据库的版本:如果您的H2数据库版本不支持MERGE语法,您将无法使用MERGE语句。请确保您的H2数据库版本支持MERGE语法。
尝试使用其他语句:如果您无法使用MERGE语句,您可以尝试使用其他语句来实现您的需求。例如,您可以使用INSERT INTO和UPDATE语句来插入和更新表中的数据。
升级H2数据库的版本:如果您的H2数据库版本不支持MERGE语法,您可以考虑升级H2数据库的版本。请注意,在升级H2数据库之前,请备份您的数据库,并确保您的应用程序和数据库不会受到任何负面影响。
问题已修复,请用新版本 https://github.com/alibaba/druid/releases/tag/1.1.14
原回答者GitHub用户wenshao
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。