spring读书笔记----Quartz Trigger JobStore出错解决
将Quartz的JOBDetail,Trigger保持到数据库的时候发现,系统报错
Thejob(DEFAULT.jobDetail)referencedbythetriggerdoesnotexist
经过测试发现,在不使用hibernate的时候只有spring的测试环境情况下一切正常。而放到工作环境的时候就发生错误。
因此怀疑是datasource的问题。查springQuartz论坛上发现果然是这个问题。将quartz的datasource分开独立就全部解决了。其实也可以不独立将quartz的transaction也交给spring一同处理也可以的。
jdbc.propertiesjdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306/quartz?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true jdbc.username=root jdbc.password=huawei quartz.jdbc.driver=com.mysql.jdbc.Driver quartz.jdbc.url=jdbc:mysql://127.0.0.1:3306/quartz?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true quartz.jdbc.username=root quartz.jdbc.password=huawei
applicationContext-datasource.xml
<!-- 事务管理器配置, Hibernate单数据源事务 --> <bean id="defaultTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 另一个事务管理器, Jdbc单数据源事务 --> <bean id="quartzTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="quartzDataSource" /> </bean>
applicationContext-quartz.xml
<bean name="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="dataSource" ref="quartzDataSource" /> <property name="applicationContextSchedulerContextKey" value="applicationContext" /> <property name="configLocation" value="classpath:schedule/quartz.properties" /> <property name="autoStartup"> <value>true</value> </property> </bean>
相关推荐
qingjiuquan 2020-05-15
Julywhj 2020-01-05
景泽元的编程 2019-12-03
与卿画眉共浮生 2017-07-27
横云断岭 2012-02-03
happyfling 2019-09-20
fairystepwgl 2016-03-22
longdan0 2018-04-20
missshy 2019-03-02
burning 2016-03-11
zhongjcbill 2015-04-21
Holyn 2014-11-21
MayMatrix 2013-11-03
chenhualeguan 2013-10-16
spprogrammer 2016-03-22