- 问题描述: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本地运行,使用内存,不支持持久化。