Quartz

spring 集成quartz 2.2.1版本 Demo

Jul 29, 2015 | | Say something

demo 下载:test-quartz.zip 一、本示例的功能点如下: 1)基于maven构建 2)基于quartz 2.2.1版本,网上很多都是quartz 1.5,这样quartz库使用slf4j日志框架 3)使用h2数据库,能方便的使用内存数据库测试,也能持久化 二、核心配置

  三、运行: App.java的main()方法是程序的入口 在程序运行过程中,可以再在浏览器的url输入http://localhost:8082/ 来管理h2数据库 本示例默认使用的内存数据库。让h2持久化的步骤为 1)修改jdbc.properties中的jdbc.url=jdbc:h2:~/test,这样会在当前用户的根目录下产生test.mv.db文件 2)当第二次运行时将applicationContext.xml的jdbc:initialize-database的enabled设为false。因为数据库中已经有表结构了,所以不需要再次创建表结构。 本demo由博主 javacoder.cn提供,转载注明出处,也欢迎一起交流

spring 关闭时quartz还没结束

Jul 29, 2015 | | Say something

遇到如下异常 java.lang.IllegalStateException: JobStore is shutdown – aborting retry at org.quartz.impl.jdbcjobstore.JobStoreSupport.retryExecuteInNonManagedTXLock(JobStoreSupport.java:3756) at org.quartz.impl.jdbcjobstore.JobStoreSupport.triggeredJobComplete(JobStoreSupport.java:3039) at org.quartz.core.QuartzScheduler.notifyJobStoreJobComplete(QuartzScheduler.java:1804) at org.quartz.core.JobRunShell.run(JobRunShell.java:269) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) 这个是由于在spring applicationContext.xml文件中声明SchedulerFactoryBean时没有指定waitForJobsToCompleteOnShutdown属性引起的,将该属性设置为true,这样当spring关闭时,会等待所有已经启动的quartz job结束后spring才能完全shutdown。