项目案例中使用的环境spring-3.1.x+Quartz 2.1.7, 最开始因为是单机配置,非常容易,分分钟搞定,并正常。后面因为项目是集群部分,需要改造为最容易的DB锁方式集群Quartz。要下班了,弄完并验证,没时间写正常的配置过程,反正GOOGLE一大堆,记录下坑吧。
单机配置
--掠过
DB方式集群配置
--掠过
坑:
1、如果你配置的是单机模式(org.quartz.simpl.RAMJobStore),Quartz 的Spring配置配置文件千万别加入:default-autowire="byName" ,因为在org.springframework.scheduling.quartz.SchedulerFactoryBean中有个dataSource属性,如果你的项目的DataSource恰好名字是“dataSource”,那告诉你,你完了,打死配置不出RAMJobStore,永远的:“LocalDataSourceJobStore”。原因:
SchedulerFactoryBean源代码:
if (this.dataSource != null) {
mergedProps.put(StdSchedulerFactory.PROP_JOB_STORE_CLASS, LocalDataSourceJobStore.class.getName());
}
所以你不配置数据库方式,他也自动给你数据库方式。
2、数据库村创建(JobStoreTX或JobStoreCMT)方式,配置的cronExpression表达式无法更新,第一次配置运行后,就一直保存到数据库中,FK,你怎么修改配置文件,都不更新。查了下google,有人用插件配置定时更新(难道写个程序修改数据库!!?晕倒)。我没有整了,反正配置好一般不变更。有高人知道好方案的给普及下,感谢!~
相关推荐
五、Spring配置 在Spring的配置文件中,需要声明SchedulerFactoryBean,配置JobStore类型、数据源以及集群相关参数。同时,还需要定义Job和Trigger,指定对应的Spring Bean和执行时间。 六、案例分析 压缩包中的...
在Spring配置文件(如`applicationContext.xml`)中,我们需要配置Quartz的JobStore,ThreadPool,以及Scheduler。例如: ```xml <bean id="jobStore" class="org.quartz.impl.jdbcjobstore.JobStoreTX"> ...
- `src/main/resources`:存放配置文件,如Spring的`applicationContext.xml`,Quartz的`quartz.properties`等。 - `src/main/java`:存放Java源代码,包括Spring的配置类、业务逻辑类以及Quartz的作业和触发器实现...
在集成过程中,首先需要在Spring配置文件中声明Quartz的相关bean,包括SchedulerFactoryBean、JobDetailBean和TriggerBean。SchedulerFactoryBean是Spring对Quartz Scheduler的包装,用于初始化和管理Scheduler;...
本项目就是基于Spring MVC、Mybatis、Quartz和Swagger实现的一个定时任务管理系统,旨在提供一种灵活且可配置的方式来管理和控制定时任务。下面将详细讲解这个系统的核心组成部分及其工作原理。 首先,Spring MVC是...
1. **集成Spring Boot和Quartz**:在Spring Boot的`pom.xml`文件中添加Quartz的依赖,然后配置Quartz的相关属性,如数据源、JobStore类型等。同时,需要创建一个`SchedulerFactoryBean`的bean来初始化Quartz调度器。...
2. 配置Scheduler:在Spring的配置文件中,使用`SchedulerFactoryBean`来初始化和配置Quartz Scheduler。可以设置如数据库存储、线程池大小等参数。 3. 创建Job类:定义一个实现了`org.quartz.Job`接口的类,这是...
- 异常处理:当Job执行过程中出现异常,Quartz默认会记录日志并停止该Job的执行。我们可以自定义JobListener或TriggerListener来捕获异常并决定如何处理。 - 容错性和高可用性:在分布式环境下,我们需要考虑如何...
Spring Quartz 动态配置时间 Spring Quartz 是一个功能强大的任务调度框架,...使用 Spring Quartz 实现动态配置时间可以提高系统的灵活性和可维护性,但需要正确地选择时间规则、转换时间规则和记录时间规则表达式。
- Spring的AOP(面向切面编程)可以和Quartz结合,为Job添加事务管理、日志记录等功能,增强任务的可扩展性。 6. **TestQuartz**: - 这个文件可能是一个测试项目或者包含测试代码,用于验证Quartz与Spring的集成...
7. **任务调度**:使用Quartz或Spring Task进行定时任务,如自动提醒借阅到期的用户。 8. **邮件服务**:集成SMTP发送邮件通知,如注册验证、借阅提醒等。 9. **报表生成**:如使用JasperReports或iText生成统计报告...
【标题】"Maven Spring+SpringMvc+MyBatis+Redis+Shiro+PageHelp+Quartz+Log4j" 涵盖了一系列关键的Java Web开发技术,这些技术组合在一起构建了一个完整的、功能丰富的应用框架。让我们逐一深入探讨这些技术的要点...
MyBatis 可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 5. **Maven**:Maven 是一个项目管理工具,它可以管理项目的构建、报告...
在Spring配置文件中,可以使用`SchedulerFactoryBean`来初始化并管理Scheduler。这个bean将负责启动、停止Scheduler,以及处理其他相关的生命周期事件。 在非配置动态定时任务中,我们不再在XML或Java配置中硬编码...
在这个案例中,可能存在一个`JobScheduler` Bean,用于实现定时任务功能,这可能是通过Spring的`@Scheduled`注解或者 Quartz库来实现的。 Mybatis是一个轻量级的持久层框架,它允许开发者编写SQL语句,然后通过...
此外,Spring还提供了AOP(面向切面编程)功能,用于实现如日志记录、权限检查等横切关注点。Spring还集成了其他框架,如MyBatis、Quartz等,形成了一个全面的企业级应用解决方案。 在这个"毕业设计struts+...
接下来是在Spring配置文件中对Quartz进行配置。以下是配置示例: ```xml <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <!-- 要调用的工作类 --> ...
2. **配置SpringMVC**:编写Spring的配置文件,定义DispatcherServlet、视图解析器、拦截器等,以及Bean的定义和依赖注入。 3. **配置Mybatis**:设置Mybatis的配置文件,包括数据源、SqlSessionFactory、Mapper...
MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 2. **Spring**:Spring是一个全面的企业级应用开发框架,提供了诸如依赖...
### quartz在Spring中的配置 #### 一、简介与基本配置 Quartz 是一款开源的任务调度框架,被广泛应用于 Java 应用程序中进行任务的定时调度。它支持复杂的触发规则,能够实现高度灵活的任务调度机制。Spring 框架...