在网上查找了一些关于定时器的实现方法,最后选择了一种 ,但奇怪的是 居然说cronExpression不在org.springframework.scheduling.quartz.CronTriggerBean中,请见下图:
我导的包:spring.jar 2.881M
怀疑是不是 Strping的版本问题;
请帮帮忙,再此 谢过;
我把那些信息重新建立了一个applicationContext_quartz.xml 放到里面后,没有提示错误了;
但
新的错误又出现了:
Error creating bean with name 'getGoodsInfo' defined in class path resource [applicationContext_quartz.xml]: Invocation of init method failed; nested exception is java.lang.InstantiationError: org.quartz.JobDetail
我导入的包有
经历分析 发现最大的问题不在代码 而是所依赖的包
于是
我单独重新建立工程,最后成功,代码部分 如下
1、applicationContext_qua.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 定义调用对象和调用对象的方法 -->
<bean id="jobTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 调用的类 -->
<property name="targetObject">
<bean class="com.quqrtz.BusinessReport"></bean>
</property>
<!-- 调用类中的方法 -->
<property name="targetMethod">
<value>work</value>
</property>
<property name="concurrent" value="false" />
</bean>
<!-- 定义触发时间 -->
<bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="jobTask"/>
</property>
<!-- cron表达式 -->
<property name="cronExpression">
<value>0 * 11 * * ?</value>
</property>
</bean>
<!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 -->
<bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="doTime"/>
</list>
</property>
</bean>
</beans>
2、业务类
package com.quqrtz;
import java.text.SimpleDateFormat;
import java.util.Date;
public class BusinessReport{
public void work(){ //执行报表统计入口函数
//业务逻辑
System.out.println("来到这里 时间="+(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date()));
}
}
3、测试类
package com.quqrtz;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestQuqrtz {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Test start.");
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext_qua.xml"); System.out.println("Test end..");
}
}
4、所需要的包,在附件里面,免得到处去找呀 下载呀 很郁闷的;
真正需要使用那些包,自己可以慢慢去试;
5、效果图
我设置的是11点每隔一分钟执行一次
6、附:cronExpression表达式解释:
0 0 12 * * ?---------------在每天中午12:00触发
0 15 10 ? * *---------------每天上午10:15 触发
0 15 10 * * ?---------------每天上午10:15 触发
0 15 10 * * ? *---------------每天上午10:15 触发
0 15 10 * * ? 2005---------------在2005年中的每天上午10:15 触发
0 * 14 * * ?---------------每天在下午2:00至2:59之间每分钟触发一次
0 0/5 14 * * ?---------------每天在下午2:00至2:59之间每5分钟触发一次
0 0/5 14,18 * * ?---------------每天在下午2:00至2:59和6:00至6:59之间的每5分钟触发一次
0 0-5 14 * * ?---------------每天在下午2:00至2:05之间每分钟触发一次
0 10,44 14 ? 3 WED---------------每三月份的星期三在下午2:00和2:44时触发
0 15 10 ? * MON-FRI---------------从星期一至星期五的每天上午10:15触发
0 15 10 15 * ?---------------在每个月的每15天的上午10:15触发
0 15 10 L * ?---------------在每个月的最后一天的上午10:15触发
0 15 10 ? * 6L---------------在每个月的最后一个星期五的上午10:15触发
0 15 10 ? * 6L 2002-2005---------------在2002, 2003, 2004 and 2005年的每个月的最后一个星期五的上午10:15触发
0 15 10 ? * 6#3---------------在每个月的第三个星期五的上午10:15触发
0 0 12 1/5 * ?---------------从每月的第一天起每过5天的中午12:00时触发
0 11 11 11 11 ?---------------在每个11月11日的上午11:11时触发.
相关推荐
### 配置Spring+Quartz定时器的知识点详解 #### 一、Quartz简介与应用场景 Quartz 是一个开源的任务调度框架,它...通过上述步骤,我们可以有效地在Spring环境中配置并使用Quartz定时器,实现灵活的任务调度功能。
这里我们讨论的是如何在`IDEA`中结合`Spring`和`Quartz`,利用`c3p0`作为数据库连接池来实现定时任务。 首先,`c3p0-0.9.5.2.jar`是`c3p0`的一个版本,它包含了对数据库连接池的管理功能。`mchange-commons-java-...
1. **导入必要的Jar包**:除了Spring的基本包外,还需要导入Quartz的Jar包,例如`quartz-all-1.6.1.jar`。 2. **编写任务类**:创建一个包含具体业务逻辑的类,该类将被Spring定时器调用。 3. **配置Spring定时器**...
SpringQuartz定时任务Use technologyspring.version 4.3.16quartz.version 2.3.0CN1.RAMJobStore实现定时任务:最佳性能,因为所有数据都保存在内存中,但是应用程序或系统崩溃时,所有信息都会丢失。2.JDBC+...
Spring定时器,或者说Spring的定时任务管理,是一个强大的功能,它允许我们在应用程序中安排一系列的任务执行,例如定期备份数据、清理缓存或者执行其他维护工作。在本实例中,我们将探讨如何使用Spring与Quartz结合...
1. **配置Spring定时器**:在Spring配置文件(如`applicationContext.xml`)中,你需要定义一个`TaskScheduler`的bean,通常使用`ThreadPoolTaskScheduler`实现。例如: ```xml ...
在"Spring2.5+Quartz定时任务简单例子web工程"中,我们可以看到这两个框架的结合使用,主要目标是实现基于 Web 应用的定时任务管理。以下将详细介绍这个项目中可能涉及的知识点: 1. **Spring 2.5**: - **依赖...
在使用Quartz框架时,需要导入Quartz框架的JAR包,例如quartz-1.6.2.jar。 3. 定时器的配置 在Spring框架中,定时器的配置主要涉及三个部分:任务类、_trigger和scheduler。任务类是执行具体任务的类,例如Prison...
- 将解压后的quartz项目导入到IDE,配置好依赖并构建。 - 配置好`quartz.properties`后,启动应用,Quartz会自动加载配置并启动Scheduler。 - 测试:创建一个简单的定时任务,观察是否按照预期执行。 总的来说,...
微信接口(身份验证,文本、图文回复等) 微信远程控制服务器重启、锁定、其它应用程序 15.java Quartz 定时器 (定时执行某程序,精确到秒,可设置周期) 16.java websocket 即时通讯技术,点对点,群聊,单聊,EXT4...
自己搞的,赚点积分。下载的人,不会觉得亏。亏了私信我。 【前端框架】 基于bootstrap的AdminLte2.4 ...2、封装了可配置的Quartz定时器;分两个版本:一个基于xml的配置版,一个是读取SQL 3、轻量级缓存 4、页面优美。
微信接口(身份验证,文本、图文回复等) 微信远程控制服务器重启、锁定、其它应用程序 15.java Quartz 定时器 (定时执行某程序,精确到秒,可设置周期) 16.java websocket 即时通讯技术,点对点,群聊,单聊,EXT4...
**SpringBoot集成ElasticJob定时器** 在现代的微服务架构中,定时任务的管理和调度是必不可少的一部分。ElasticJob是由当当网开源的一个分布式任务调度框架,它结合了 Quartz 和 ZooKeeper,提供了分布式任务的注册...
quartz-1.6.0.jar:一个定时器 jstl.jar:(jsp standard taglib)jstl的核心标签库。 poi.jar:Apache的操作数据转换的类库,能导入和到处Excel,与jxl.jar功能重复。 mysql-connector-java-5.1.6-bin.jar mysql驱动...
部署时需要创建数据库、初始化数据、更新配置文件并导入依赖包,最终启动项目。 具体配置上,Mybatis配置涉及到数据源设置、实体类创建、Mapper接口编写、mapper文件添加以及自动注入Mapper的配置。Mybatis配置支持...
- 定时任务系统,可能用到Java的定时器或者第三方库如Quartz。 - 邮件发送功能,需要理解SMTP协议并使用JavaMail API。 8. **文档**:随附的文档可能涵盖每个项目的介绍、实现原理、关键代码解析以及使用教程,...
对于IDEA的提示,`Ctrl+Alt+O`是代码优化快捷键,可以自动整理和导入所需的包,提高代码的整洁度和可读性。 这些技术点在SpringBoot项目中非常常见,掌握它们能提升开发效率和项目的稳定性。在实际应用中,可以根据...
- 定时器:Quartz 2.3 - 数据库连接池:Druid 1.1 - 日志管理:SLF4J 1.7、Log4j - 页面交互:Vue2.x **软件需求** - JDK1.8 - MySQL5.5+ - Maven3.0+ **本地部署** - 通过git下载源码 - 创建...