用spring 3+quartz 2,然后照着网上的demo做的时候,可能你会遇到
class org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class
这样的问题 ,就是说spring里的CronTriggerBean类继承的居然是quartz中的一个接口,CronTrigger在quartz 2的版本中是一个接口。而在quartz 1中它是个类。所以,一种方法是降低quartz 版本可以解决这个问题。
另一种方法是使用另一个spring提供的CronTriggerFactoryBean。具体可看这里。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:cache="http://www.springframework.org/schema/cache" xmlns:context="http://www.springframework.org/schema/context" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:jms="http://www.springframework.org/schema/jms" xmlns:lang="http://www.springframework.org/schema/lang" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:oxm="http://www.springframework.org/schema/oxm" xmlns:p="http://www.springframework.org/schema/p" xmlns:task="http://www.springframework.org/schema/task" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.1.xsd http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-3.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-3.1.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd"> <!-- 任务调度 --> <!-- 线程执行器配置,用于任务注册 --> <bean id="executor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <property name="corePoolSize" value="10" /> <property name="maxPoolSize" value="100" /> <property name="queueCapacity" value="500" /> </bean> <!-- 要调用的工作类 --> <bean id="sayHelloService" class="com.cnge06.SayHelloService"></bean> <!-- 定义调用对象和调用对象的方法 --> <bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 调用的类 --> <property name="targetObject" ref="sayHelloService"></property> <!-- 调用类中的方法 --> <property name="targetMethod" value="say"></property> </bean> <!-- 定义触发时间 --> <bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="jobtask"></property> <!-- cron表达式 --> <property name="cronExpression" value="* * * * * ?"></property> </bean> <!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 --> <bean id="startQuertz" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="doTime" /> </list> </property> <property name="taskExecutor" ref="executor" /> </bean> </beans>
相关推荐
Quartz v2.2.2 是紧接着v2.2.1的一个小版本升级,通常这种小版本升级意味着修复了一些遗留问题或引入了额外的优化。可能包括对Java新版本的兼容性改进,性能提升,以及对用户反馈的问题进行的修复。使用这个版本,...
Quartz是一款广泛应用于Java环境...如果项目已经基于旧版本构建,升级时需要考虑兼容性和迁移成本。同时,根据项目需求,可能需要了解并配置Quartz的各种配置选项,如数据源、触发器策略等,以实现最佳的定时任务调度。
Quartz 2.2.3是该框架的一个稳定版本,提供了许多改进和修复,以确保更高效、可靠的任务调度。 首先,Quartz的核心特性在于其灵活的调度机制。它支持简单定时(如每5分钟执行一次)以及复杂表达式(如Cron表达式)...
本示例将探讨如何将 Spring 3 与 Quartz 1.8 和 2.2 版本进行整合,以实现高效的任务调度。 首先,我们来看 Spring 3 整合 Quartz 1.8 的步骤: 1. **引入依赖**:在项目中添加 Quartz 和 Spring 相关的库,确保...
升级到这个版本时,用户需要注意与旧版本之间的兼容性问题,以及可能需要调整的代码或配置。 总的来说,Quartz是一个强大的作业调度库,通过提供针对不同数据库的脚本,确保了其在多样的IT环境中都能高效运行。了解...
Quartz 是一个开源的作业调度框架,广泛应用于Java应用程序中,...这些脚本对于初次设置Quartz或者升级现有数据库中的Quartz表结构非常有用。如果现有的脚本不适用,如描述中提示的,可以从Quartz官网找到适合的版本。
Quartz是Java平台上的一款强大的作业调度框架,常用于在企业级应用中实现任务调度。版本1.4.5是该框架的一个稳定版本,...对于维护老系统来说,理解源码可以提供更深层次的支持,避免因版本升级可能带来的不兼容问题。
注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 ...
综上,Quartz持久化是保证定时任务不因系统重启而丢失的关键技术,它与Spring的集成使得配置更为灵活,而Quartz版本间的兼容性则保证了项目的平滑升级。在实际开发中,理解并掌握这些知识点对于充分利用Quartz的功能...
Quartz 是一个开源的工作调度框架,它允许开发者创建、安排和执行任务,广泛应用于Java应用程序中,特别是服务器端的...在升级至2.2.1版本时,可能需要注意与旧版本的兼容性问题,以及新版本带来的改进和修复的bug。
Quartz 是一个开源的工作调度框架,它允许程序员在 Java 应用程序中安排任务...对于新项目,可能需要考虑升级到更现代的 Quartz 版本或寻找其他替代品,如 Spring Framework 的 Task Execution and Scheduling 模块。
这是由于Spring框架的一些API更新,可能与较旧的Quartz版本不兼容。升级到Quartz2.x通常能解决这个问题,因为Quartz2.x设计上更注重与Spring的集成,提供了更好的API支持。 7. **quarzTest项目** "quarzTest"可能...
6. **版本兼容性**:从Quartz.2003.sln到Quartz.2008.sln再到Quartz.build,这些文件表明Quartz.NET一直致力于保持与不同.NET Framework版本的兼容性,确保旧项目能够顺利升级。 7. **文档与社区支持**:除了源代码...
10. **API与版本兼容性**: Quartz提供了丰富的API供开发者使用,不同版本的Quartz可能有不同的特性和API变更,因此在升级时需要注意兼容性问题。 以上是对"quartz作业调度测试"项目的简要解析,通过该项目,你可以...
此外,如果你的数据库驱动是 Proxool,可能需要升级到最新版本以避免可能出现的问题。 Quartz 支持多种持久化策略,包括 JDBC,这样可以将调度信息存储在数据库中。在本例中,你将使用 MySQL 数据库,并需要执行 ...
Quartz 2.1.7相比早期版本可能包含性能优化和bug修复,但在升级前应检查与现有代码的兼容性,并参考官方文档进行迁移。 总之,Quartz 2.1.7作为一款强大的定时调度工具,为Java开发者提供了完善的定时任务解决方案...
不过,如果你需要最新的特性和bug修复,建议升级到更现代的版本。 在使用quartz.jar时,你需要将它添加到你的项目类路径中,然后可以通过`Scheduler`实例来创建和管理作业和触发器。同时,根据项目需求,可能还需要...
Spring整合Quartz是一个常见的任务调度解决方案,用于在Java应用程序中执行定时任务。Quartz是一个功能强大的、开放源代码的...确保在升级Quartz版本时,检查其与当前Spring版本的兼容性,以及对旧版API的迁移指南。
在选择和升级版本时,应确保两者之间的兼容性,避免引入不必要的bug或功能缺失。 5. **最佳实践**: - 使用Spring的`@DisallowConcurrentExecution`和`@PersistJobDataAfterExecution`注解,可以控制Job实例的并发...
Quartz是一个开源的作业调度框架,它允许开发者创建和管理定时任务,以便在Java应用程序中实现复杂的调度需求。...同时,为了适应现代Java环境,你可能需要考虑升级到Quartz的最新稳定版本,以获取更好的性能和新特性。