Quartz问题:qrtz_locks doesn't exist

  • 问题描述:qrtz_locks doesn't exist
  • 参考: https://blog.csdn.net/usedtolove/article/details/5265701
  • quartz是支持数据持久化的,所以如果自动装配autowire的话,创建org.springframework.scheduling.quartz.SchedulerFactoryBean的时候会自动将数据库datasource注入进去,让quartz以为会持久化数据所以报错。
  • 解决方法:不论 spring 的 default-autowire 设置为"autodetect " 还是 "byName" ,都会出现 *.QRTZ_LOCKS' doesn't exist
    • 方法一: 不使用 default-autowire 属性;
    • 方法二: 在不改变 spring default-autowire 属性的前提下, 给 SchedulerFactoryBean 设置 autowire="no"。
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" autowire="no">
    <property name="triggers">
        <list>
            <ref bean="simpleTriggerBean" />
        </list>
    </property>
</bean>
  • 正常的话会显示org.quartz.core.QuartzScheduler本地运行,使用内存,不支持持久化。

posted @ 2021-12-30 16:40  James_飏  阅读(1111)  评论(0编辑  收藏  举报