spring与Quartz集成,运行良好就是没有JOB执行,运行如下:
2008 10 19 22:03:31  INFO [/myWdb]:646 - QuartzInitializer: Quartz Initializer Servlet loaded, initializing Scheduler...
2008 10 19 22:03:31  WARN JobInitializationPlugin:139 - The "filename" plugin property is deprecated.  Please use "filenames" in the future.
2008 10 19 22:03:31  INFO SchedulerSignalerImpl:63 - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
2008 10 19 22:03:31  INFO QuartzScheduler:215 - Quartz Scheduler v.1.6.1 created.
2008 10 19 22:03:31  INFO JobInitializationPlugin:265 - Registering Quartz Job Initialization Plug-in.
2008 10 19 22:03:31  INFO ShutdownHookPlugin:128 - Registering Quartz shutdown hook.
2008 10 19 22:03:31  INFO JobStoreTX:572 - Using thread monitor-based data access locking (synchronization).
2008 10 19 22:03:31  INFO JobStoreTX:750 - Removed 1 Volatile Trigger(s).
2008 10 19 22:03:31  INFO JobStoreTX:758 - Removed 1 Volatile Job(s).
2008 10 19 22:03:31  INFO JobStoreTX:61 - JobStoreTX initialized.
2008 10 19 22:03:31  INFO StdSchedulerFactory:1224 - Quartz scheduler 'guyeeSheduler' initialized from the specified file : 'quartz.properties' from the class resource path.
2008 10 19 22:03:31  INFO StdSchedulerFactory:1228 - Quartz scheduler version: 1.6.1
2008 10 19 22:03:31  INFO JobStoreTX:804 - Freed 0 triggers from 'acquired' / 'blocked' state.
2008 10 19 22:03:31  INFO JobStoreTX:814 - Recovering 0 jobs that were in-progress at the time of the last shut-down.
2008 10 19 22:03:31  INFO JobStoreTX:828 - Recovery complete.
2008 10 19 22:03:31  INFO JobStoreTX:835 - Removed 0 'complete' triggers.
2008 10 19 22:03:31  INFO JobStoreTX:841 - Removed 0 stale fired job entries.
2008 10 19 22:03:32  INFO JobSchedulingDataProcessor:493 - Parsing XML file: applicationContext.xml with systemId: applicationContext.xml validating: false validating schema: jar:file:/D:/Tomcat%205.5/webapps/guyee/WEB-INF/lib/quartz-1.6.1.jar!/org/quartz/xml/job_scheduling_data_1_5.xsd
2008 10 19 22:03:32  INFO JobSchedulingDataProcessor:587 - Scheduling 0 parsed jobs.
2008 10 19 22:03:32  INFO JobSchedulingDataProcessor:607 - 0 scheduled jobs.
2008 10 19 22:03:32  INFO QuartzScheduler:461 - Scheduler guyeeSheduler_$_NON_CLUSTERED started.
2008 10 19 22:03:32  INFO [/myWdb]:646 - QuartzInitializer: Scheduler has been started...
2008 10 19 22:03:32  INFO [/myWdb]:646 - QuartzInitializer: Storing the Quartz Scheduler Factory in the servlet context at key: org.quartz.impl.StdSchedulerFactory.KEY
2008 10 19 22:03:32  INFO ContextLoaderPlugIn:218 - ContextLoaderPlugIn for Struts ActionServlet 'action, module '': initialization started
2008 10 19 22:03:32  INFO [/myWdb]:646 - Initializing WebApplicationContext for Struts ActionServlet 'action', module ''
2008 10 19 22:03:32  INFO XmlWebApplicationContext:378 - Refreshing org.springframework.web.context.support.XmlWebApplicationContext@1c8ee34: display name [WebApplicationContext for namespace 'action-servlet']; startup date [Sun Oct 19 22:03:32 CST 2008]; parent: org.springframework.web.context.support.XmlWebApplicationContext@16b321b
2008 10 19 22:03:32  INFO XmlBeanDefinitionReader:303 - Loading XML bean definitions from ServletContext resource [/WEB-INF/action-servlet.xml]
2008 10 19 22:03:32  INFO XmlWebApplicationContext:393 - Bean factory for application context [org.springframework.web.context.support.XmlWebApplicationContext@1c8ee34]: org.springframework.beans.factory.support.DefaultListableBeanFactory@192e652
2008 10 19 22:03:33  INFO DefaultListableBeanFactory:276 - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@192e652: defining beans []; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@1b06a21
2008 10 19 22:03:33  INFO ContextLoaderPlugIn:297 - Using context class 'org.springframework.web.context.support.XmlWebApplicationContext' for servlet 'action'
2008 10 19 22:03:33  INFO ContextLoaderPlugIn:235 - ContextLoaderPlugIn for Struts ActionServlet 'action', module '': initialization completed in 688 ms本该运行到红色的地方JOB就会有后台输出信息,但是没有,说明JOB没有执行我已经找了近一周了,始终没有找到问题,各位给看看,是什么问题,谢谢!applicationContext.xml 配置如下:
         <bean id="myJobDetail"
class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.guyee.quartz.test.TestJob" />
        </bean>
<!-- 触发器 -->
<bean id="testTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="myJobDetail" />
<property name="cronExpression" value="0/10 * * ? * *" />
</bean>
<!-- 计划 -->
<bean
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="transactionManager" ref="transactionManager" />
<property name="configLocation"
value="classpath:quartz.properties" />
<property name="schedulerName" value="guyeeSheduler" />
<property name="autoStartup" value="true" />
<property name="triggers">
<list>
<ref bean="testTrigger" />
</list>
</property>
</bean>quartz.properties 配置如下:
#============================================================================   
# Configure Main Scheduler Properties     
#============================================================================   
org.quartz.scheduler.instanceName = guyeeSheduler   
org.quartz.scheduler.instanceId = AUTO     
 
#===============================================================     
#Configure ThreadPool     
#===============================================================       
org.quartz.threadPool.threadCount =  5       
org.quartz.threadPool.threadPriority = 5       
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool     
 
#===============================================================     
#Configure JobStore     
#===============================================================      
#org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
 
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.MSSQLDelegate
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.useProperties = false  
org.quartz.jobStore.dataSource = myDS   
org.quartz.jobStore.selectWithLockSQL = SELECT * FROM {0}LOCKS WHERE LOCK_NAME = ? FOR UPDATE
org.quartz.jobStore.isClustered = false
org.quartz.jobStore.txIsolationLevelSerializable = true
org.quartz.jobStore.maxMisfiresToHandleAtATime = 10 
org.quartz.jobStore.misfireThreshold = 60000#============================================================================   
# Configure Datasources     
#============================================================================   
org.quartz.dataSource.myDS.driver = net.sourceforge.jtds.jdbc.Driver
org.quartz.dataSource.myDS.URL = jdbc:jtds:sqlserver://127.0.0.1:1433/mydb
org.quartz.dataSource.myDS.user = sa
org.quartz.dataSource.myDS.password = 123
org.quartz.dataSource.myDS.maxConnections = 10 #===============================================================     
#Configure Plugins     
#===============================================================     
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin       
org.quartz.plugin.jobInitializer.fileName = applicationContext.xml
org.quartz.plugin.jobInitializer.failOnFileNotFound = true  
org.quartz.plugin.jobInitializer.overWriteExistingJobs = true     
org.quartz.plugin.jobInitializer.scanInterval = 10
org.quartz.plugin.jobInitializer.validating = false 
org.quartz.plugin.jobInitializer.wrapInUserTransaction = false org.quartz.plugin.shutdownhook.class = org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown = true特贴出,希望能找到原因。。

解决方案 »

  1.   

    任务没有执行,你应该用断点调度吧,设置几个断点,一句句执行不就可以知道为什么没有执行了吗!我刚完成了在spring中使用quartz的例子,有机会可以交流下。公司网络全封了,但还可以上这个BBS,万幸了,哈哈。QQ之类聊天工具都不能用,不过下班后,我自己宿舍是可以交流的。你的错误代码(异常)都没有,让别人怎么帮你找出错误来呀!!<bean 
    class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
    -------- 为什么没有id呢?
      

  2.   

    就是啊,如果报错还好解决,可是什么错误都没报,很是郁闷!现在公司急着用,我也不知道该怎么解决了,很烦!我的QQ:263725193
    有空的话我们可以交流交流,O(∩_∩)O哈哈~
      

  3.   

    org.quartz.plugin.jobInitializer.fileName = xxx.xml我现在才发现把这个值设置成任何一个xml文件都不会报错,而且和上面的输出一模一样,只是变了一下文件的名称而已。。
    这是怎么一回事呢?
      

  4.   

    你为什么不试试设置断点来调试呢?那样不就可以看到为什么没有执行JOB了吗?
      

  5.   

    2008 10 20 11:03:57  INFO [/myWdb]:646 - QuartzInitializer: Quartz Initializer Servlet loaded, initializing Scheduler...
    2008 10 20 11:03:57  WARN JobInitializationPlugin:140 - The "filename" plugin property is deprecated.  Please use "filenames" in the future.
    2008 10 20 11:03:57  INFO SimpleThreadPool:258 - Job execution threads will use class loader of thread: main
    2008 10 20 11:03:57  INFO QuartzScheduler:209 - Quartz Scheduler v.1.6.0 created.
    2008 10 20 11:03:57  INFO JobInitializationPlugin:280 - Registering Quartz Job Initialization Plug-in.
    2008 10 20 11:03:57  INFO ShutdownHookPlugin:128 - Registering Quartz shutdown hook.
    2008 10 20 11:03:57  INFO JobStoreTX:547 - Using thread monitor-based data access locking (synchronization).
    2008 10 20 11:03:57  INFO JobStoreTX:721 - Removed 1 Volatile Trigger(s).
    2008 10 20 11:03:57  INFO JobStoreTX:729 - Removed 1 Volatile Job(s).
    2008 10 20 11:03:57  INFO JobStoreTX:61 - JobStoreTX initialized.
    2008 10 20 11:03:57  INFO StdSchedulerFactory:1208 - Quartz scheduler 'guyeeSheduler' initialized from the specified file : 'quartz.properties' from the class resource path.
    2008 10 20 11:03:57  INFO StdSchedulerFactory:1212 - Quartz scheduler version: 1.6.0
    2008 10 20 11:03:57  INFO JobStoreTX:775 - Freed 0 triggers from 'acquired' / 'blocked' state.
    2008 10 20 11:03:57  INFO JobStoreTX:785 - Recovering 0 jobs that were in-progress at the time of the last shut-down.
    2008 10 20 11:03:57  INFO JobStoreTX:799 - Recovery complete.
    2008 10 20 11:03:57  INFO JobStoreTX:806 - Removed 0 'complete' triggers.
    2008 10 20 11:03:57  INFO JobStoreTX:812 - Removed 0 stale fired job entries.
    2008 10 20 11:03:57  INFO JobSchedulingDataProcessor:489 - Parsing XML file: /D:/Tomcat 5.5/webapps/guyee/WEB-INF/classes/jobs.xml with systemId: /D:/Tomcat 5.5/webapps/guyee/WEB-INF/classes/jobs.xml validating: false validating schema: jar:file:/D:/Tomcat%205.5/webapps/guyee/WEB-INF/lib/quartz-1.6.0.jar!/org/quartz/xml/job_scheduling_data_1_5.xsd
    2008 10 20 11:03:57  INFO JobSchedulingDataProcessor:583 - Scheduling 0 parsed jobs.
    2008 10 20 11:03:57  INFO JobSchedulingDataProcessor:603 - 0 scheduled jobs.
    2008 10 20 11:03:57  INFO QuartzScheduler:455 - Scheduler guyeeSheduler_$_NON_CLUSTERED started.
    2008 10 20 11:03:57  INFO [/myWdb]:646 - QuartzInitializer: Scheduler has been started...
    2008 10 20 11:03:57  INFO [/myWdb]:646 - QuartzInitializer: Storing the Quartz Scheduler Factory in the servlet context at key: org.quartz.impl.StdSchedulerFactory.KEY
    2008 10 20 11:03:58 ERROR ErrorLogger:2156 - An error occured while scanning for the next trigger to fire.
    org.quartz.JobPersistenceException: Couldn't acquire next trigger: Couldn't retrieve trigger: null [See nested exception: org.quartz.JobPersistenceException: Couldn't retrieve trigger: null [See nested exception: java.io.EOFException]]
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTrigger(JobStoreSupport.java:2700)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport$35.execute(JobStoreSupport.java:2658)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3662)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTrigger(JobStoreSupport.java:2654)
    at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:235)
    Caused by: org.quartz.JobPersistenceException: Couldn't retrieve trigger: null [See nested exception: java.io.EOFException]
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveTrigger(JobStoreSupport.java:1508)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveTrigger(JobStoreSupport.java:1484)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.acquireNextTrigger(JobStoreSupport.java:2687)
    ... 4 more
    Caused by: java.io.EOFException
    at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2232)
    at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2698)
    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:750)
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:268)
    at org.quartz.impl.jdbcjobstore.MSSQLDelegate.getObjectFromBlob(MSSQLDelegate.java:88)
    at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectTrigger(StdJDBCDelegate.java:2132)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveTrigger(JobStoreSupport.java:1490)
    ... 6 more
    2008 10 20 11:03:58  INFO ContextLoaderPlugIn:218 - ContextLoaderPlugIn for Struts ActionServlet 'action, module '': initialization started终于报错了,这是什么错误?
      

  6.   

    上面的错误是在用quartz-1.6.0.jar时的错误
    当我换成quartz-1.6.1.jar又没有错误了,又回到一开始的什么错也没有,但就是没有JoB执行(提示:没有保存进数据库中)
      

  7.   

    org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
    这不是在内存中去执行吗 怎么会存入数据库数据呢》?
      

  8.   

    哪里是在内存中去执行哦!
    #org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore //这个已经注释掉了
    org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX 
      

  9.   

    commons-collections包是多少的 换成commons-collections-3.2.jar试试
      

  10.   

    请问你如何解决的,我的quartz的包应该版本要低。我也碰到没有错误就是任务不执行