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特贴出,希望能找到原因。。
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特贴出,希望能找到原因。。
class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> -------- 为什么没有id呢?
有空的话我们可以交流交流,O(∩_∩)O哈哈~
这是怎么一回事呢?
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终于报错了,这是什么错误?
当我换成quartz-1.6.1.jar又没有错误了,又回到一开始的什么错也没有,但就是没有JoB执行(提示:没有保存进数据库中)
这不是在内存中去执行吗 怎么会存入数据库数据呢》?
#org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore //这个已经注释掉了
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX