具体异常信息如下:
2007-05-08 21:40:45,859 INFO [STDOUT] Quartz Scheduler failed to initialize:
org.quartz.SchedulerConfigException: Failure occured during job recovery.
[See nested exception: org.quartz.JobPersistenceException: Couldn't retrieve
trigger: null [See nested exception: java.io.EOFException]]
2007-05-08 21:40:45,859 ERROR [STDERR] org.quartz.SchedulerConfigException:
Failure occured during job recovery. [See nested exception:
org.quartz.JobPersistenceException: Couldn't retrieve trigger: null [See
nested exception: java.io.EOFException]]
2007-05-08 21:40:45,859 ERROR [STDERR] at
org.quartz.impl.jdbcjobstore.JobStoreSupport.schedulerStarted
(JobStoreSupport.java:575)
2007-05-08 21:40:45,859 ERROR [STDERR] at
org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:449)
2007-05-08 21:40:45,859 ERROR [STDERR] at org.quartz.impl.StdScheduler.start
(StdScheduler.java:146)
2007-05-08 21:40:45,859 ERROR [STDERR] at
org.quartz.ee.servlet.QuartzInitializerListener.contextInitialized
(QuartzInitializerListener.java:153)
2007-05-08 21:40:45,984 ERROR [STDERR] Caused by:
org.quartz.JobPersistenceException: Couldn't retrieve trigger: null [See
nested exception: java.io.EOFException]
2007-05-08 21:40:45,984 ERROR [STDERR] at
org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveTrigger
(JobStoreSupport.java:1508)
2007-05-08 21:40:45,984 ERROR [STDERR] at
org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverMisfiredJobs
(JobStoreSupport.java:891)
2007-05-08 21:40:45,984 ERROR [STDERR] at
org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverJobs
(JobStoreSupport.java:780)
2007-05-08 21:40:45,984 ERROR [STDERR] at
org.quartz.impl.jdbcjobstore.JobStoreSupport$2.execute
(JobStoreSupport.java:752)
2007-05-08 21:40:45,984 ERROR [STDERR] at
org.quartz.impl.jdbcjobstore.JobStoreSupport$40.execute
(JobStoreSupport.java:3628)
2007-05-08 21:40:45,984 ERROR [STDERR] at
org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock
(JobStoreSupport.java:3662)
2007-05-08 21:40:46,000 ERROR [STDERR] at
org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock
(JobStoreSupport.java:3624)
2007-05-08 21:40:46,000 ERROR [STDERR] at
org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverJobs
(JobStoreSupport.java:748)
2007-05-08 21:40:46,000 ERROR [STDERR] at
org.quartz.impl.jdbcjobstore.JobStoreSupport.schedulerStarted
(JobStoreSupport.java:573)
2007-05-08 21:40:46,000 ERROR [STDERR] ... 141 more
2007-05-08 21:40:46,000 ERROR [STDERR] Caused by: java.io.EOFException
2007-05-08 21:40:46,000 ERROR [STDERR] at
java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
2007-05-08 21:40:46,000 ERROR [STDERR] at
java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
2007-05-08 21:40:46,000 ERROR [STDERR] at
java.io.ObjectInputStream.readStreamHeader(Unknown Source)
2007-05-08 21:40:46,000 ERROR [STDERR] at java.io.ObjectInputStream.<init>
(Unknown Source)
2007-05-08 21:40:46,000 ERROR [STDERR] at
org.quartz.impl.jdbcjobstore.MSSQLDelegate.getObjectFromBlob
(MSSQLDelegate.java:88)
2007-05-08 21:40:46,000 ERROR [STDERR] at
org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectTrigger
(StdJDBCDelegate.java:2132)
2007-05-08 21:40:46,000 ERROR [STDERR] at
org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveTrigger
(JobStoreSupport.java:1490)
今天通过阅读quartz的源程序发现了问题所在,原来是StdJDBCDelegate处理
QRTZ_TRIGGERS的JOB_DATA字段的bug,当JOB_DATA为null时StdJDBCDelegate处理的有问
题,据说在1.6.1解决了,我是在所用的trigger的JobDataMap中添加了一些数据解决的这
个问题,先凑合着用吧,项目时间紧啊!