`
qq123zhz
  • 浏览: 524424 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

spring quartz 定时器报错

 
阅读更多
Caused by: org.quartz.impl.jdbcjobstore.LockException: Failure obtaining db row lock: Table 'driverbible.qrtz_locks' doesn't exist [See nested exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'driverbible.qrtz_locks' doesn't exist]

 本人也也遇到类似错误。。。。

解决方案:

 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" autowire="no">  

 autowire="no",加上这句,不自动织入。。。

 

在<Beans>中不能够设置default-autowire="byName"的属性,必须去掉,否则后台会报table or view does not exist错误,这就是autowire自动装配引起的。表示quartz会使用数据库记录job的状态而进行维护,但是这些日志表又不存在,从而引发错误。autowire自动装配会自动调用dataSource这个bean(hibernate配置的这个bean),但是数据库中又没有相应记录job的表,这就是报这个错误的原因

分享到:
评论
7 楼 gaolegao2008 2015-08-28  
如果报 is_volum 列名找不到之类的,我是从新部署了一个tomcat,运行就可以了
6 楼 gaolegao2008 2015-08-28  
部署到linux上时,还有一种情况就是mysql数据库区分大小写。所以找不到大写的表名。应该在my.cnf的[mysqld]节点下加入lower-case-table-names=1 来忽略表名的大小写。搞了两天。郁闷死了。
5 楼 qq123zhz 2015-07-24  
yahier 写道
对我有帮助,但我看的一个demo程序,却没有设置 autowire="no" 也没出现问题 就不是很明白原因


可能spring或者quartz的版本提高了,我这个很久了
4 楼 yahier 2015-06-24  
对我有帮助,但我看的一个demo程序,却没有设置 autowire="no" 也没出现问题 就不是很明白原因
3 楼 shaoscj163 2014-11-07  
2 楼 qq123zhz 2011-09-29  
xu101q 写道
就是这个原因~~~楼主很强大!

实践得真知。。。。。。
1 楼 xu101q 2011-09-29  
就是这个原因~~~楼主很强大!

相关推荐

Global site tag (gtag.js) - Google Analytics