gpt4 book ai didi

java - MySQL 的 Quartz JDBCJobStore 问题

转载 作者:行者123 更新时间:2023-11-29 04:43:11 25 4
gpt4 key购买 nike

我正尝试在我的 spring mvc 项目中通过作业存储使用作业持久性,但我的数据库结构似乎有问题。

我的数据库是 MySQL (v 5.6.15),我使用 Quartz jar (v 1.8.6) 中的脚本创建表。

执行一些测试我发现作业和触发器在数据库中持久存在并且(我希望)正确加载,但它们没有执行。触发器状态始终为“等待”。

我尝试在 SqlServer 实例上创建表结构(总是使用提供的脚本),现在可以了!!!那么,MySql 有什么问题呢?

我注意到的唯一区别是 MySQL 中的表名是小写的,而不是像 SqlServer 中的所有大写,这可能是个问题吗?

我的配置如下:

通过 spring 配置调度器

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="quartzProperties">
<map>
<entry key="org.quartz.scheduler.instanceName" value="gep_scheduler" />
<!-- ThreadPool -->
<entry key="org.quartz.threadPool.class" value="org.quartz.simpl.SimpleThreadPool" />
<entry key="org.quartz.threadPool.threadCount" value="3" />
<entry
key="org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread"
value="true" />
<!-- JobStore -->
<entry key="org.quartz.jobStore.class" value="org.quartz.impl.jdbcjobstore.JobStoreTX" />
<entry key="org.quartz.jobStore.driverDelegateClass" value="org.quartz.impl.jdbcjobstore.StdJDBCDelegate" />
<entry key="org.quartz.jobStore.tablePrefix" value="qrtz_" />
<entry key="org.quartz.jobStore.dataSource" value="qzDS" />
<entry key="org.quartz.jobStore.isClustered" value="false" />
<entry key="org.quartz.jobStore.misfireThreshold" value="60000" />
<!-- DataSource -->
<entry key="org.quartz.dataSource.qzDS.driver" value="${db.driver}" />
<entry key="org.quartz.dataSource.qzDS.URL" value="${db.url}" />
<entry key="org.quartz.dataSource.qzDS.user" value="${db.user}" />
<entry key="org.quartz.dataSource.qzDS.password" value="${db.password}" />
<entry key="org.quartz.dataSource.qzDS.maxConnections" value="${db.maxActivePools}" />
</map>
</property>
</bean>

注意不会抛出异常。

最佳答案

我终于从调度程序中捕获了一个异常:

org.quartz.JobPersistenceException: Couldn't acquire next trigger: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=5' at line 1

问题出在 MySQL 驱动程序中。我使用的 v5.1.6 似乎与 MySQL 5.6.x 版本不兼容。

我解决了导入最新版本的 mysql-connector(目前为 v5.1.31)的问题。

关于java - MySQL 的 Quartz JDBCJobStore 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24259524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com