本来很简单的时钟今天配的时候却弄了我2个小时,在这里跟大家分享下错误经验。希望能帮助大家少走弯路。
1,注意jar包,特别是commons-collections.jar这个包的版本要3.x以上的。
2,注意编译jdk和运行jdk的版本问题要不然会报:
java.lang.UnsupportedClassVersionError: Bad version number in .class file ...错误
配置一个服务时钟的类源码:
1,ClockService.java:处理时钟业务
public class ClockService {
public void doService(){
System.out.println("do Service!");
}
}
2,ClockTime.java:时钟类(QuartzJobBean所属quartz-all-1.6.0.jar版本不一,这里是我用的版本)
public class ClockTime extends QuartzJobBean{
protected void executeInternal(JobExecutionContext arg0)
throws JobExecutionException {
System.out.println("============== Time Clock Start =============");
ClockService service = new ClockService();
service.doService();
System.out.println("============== Time Clock End =============");
}
}
3,applicationContext-clock.xml配置时钟
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<!-- 时钟 -->
<bean id="quartzClock"
class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>com.fairy.spring.clock.ClockTime</value>
</property>
<property name="jobDataAsMap">
<map>
<!-- spring 的依赖注入 -->
<!-- <entry key="service"><ref local="handleOverTimeClockServiceImpl"/></entry> -->
</map>
</property>
</bean>
<bean id="quartzClockTask"
class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<ref bean="quartzClock" />
</property>
<property name="startDelay">
<value>6000</value>
<!-- 这里是服务启动后延时多少时间,开始计时任务,单位ms-->
</property>
<property name="repeatInterval">
<value>30000</value>
<!-- 这里是每隔多长时间就进行一次计时任务,单位ms -->
</property>
</bean>
<bean id="cronQuartzClock"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="quartzClock"></ref>
</property>
<property name="cronExpression">
<!-- <value>0 38 13 * * ?</value> -->
<value>0,5,10,15,20,25,30,35,40,45,50,55 * * * * ?</value>
<!--
<value>0 0,10,20,30,40,50,59 * * * ?</value>
-->
<!--定时在任何月份任何日期(不管星期几)的22点52分0秒 -->
<!-- 一个cron表达式有到少6个(也可能是7个)由空格分隔的时间元素.从左到右,这些元素的定义如下:
1.秒(0-59)
2.分钟(0-59)
3.小时(0-23)
4.月份中的是期(1-31)
5.月份(1-12或SUN-DEC)
6.星期中的日期(1-7或SUN-SAT)
7.年份(1970-2099)
例子:
0 0 10,14,16 * * ? 每天上午10点,下午2点和下午4点
0 0,15,30,45 * 1-10 * ? 每月前10天每隔15分钟
30 0 0 1 1 ? 2012 在2012年1月1日午夜过30秒时
0 0 8-5 ? * MON-FRI 每个工作日的工作时间
- 区间
* 通配符
? 你不想设置那个字段
-->
</property>
</bean>
<bean
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronQuartzClock"></ref>
</list>
</property>
</bean>
<!-- end 时钟 -->
</beans>
4,web.xml配置spring
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
分享到:
相关推荐
spring配置和启动方式 博客地址:https://blog.csdn.net/u010476739/article/details/76696756
在Java开发中,Spring框架是应用最广泛的IoC(Inversion of Control)和AOP(Aspect ...在`spring-dynamic-master`项目中,你可以找到具体的代码实现和配置示例,这对于实际开发中理解和应用这些概念是非常有帮助的。
本实践指南将深入探讨Spring配置的最佳实践,旨在帮助开发者优化代码,提高应用的可维护性和可扩展性。 一、XML配置与Java配置的选择 Spring最初是以XML配置为主,但随着版本的更新,Java配置逐渐成为首选。Java...
xbean简化Spring配置文件的优点是可以简化配置文件的编写,使得我们的代码更加简洁和易于维护。特别是在复杂的Spring开发系统中,xbean可以发挥很大的作用,例如在使用ActiveMQ时。 通过使用xbean,我们可以将配置...
在本文中,我们将深入探讨如何将Spring框架与Apache Kafka集成,以便实现在Spring应用中发送和接收消息。Kafka是一个高吞吐量、分布式的发布/订阅消息系统,而...记得根据实际的Kafka集群配置和业务需求调整代码。
Spring 框架是Java开发中的一个核心框架,主要用于企业级应用的开发,它提供了全面的编程和配置模型,使得开发更加简洁、高效。这个"spring 入门示例代码"是一个适合初学者理解并实践Spring框架基础知识的资源包。 ...
Spring Cloud系列教程 Spring Boot Spring Cloud Stream 和 Kafka案例教程 springcloud生产者与消费者项目实战案例 Spring Cloud 中断路器 Circuit Breaker的应用 配置 Spring Cloud Config Server Spring Cloud ...
在Spring框架中,动态加载配置文件是一项重要的功能,它使得开发者在开发过程中无需重启应用就能实时更新配置,极大地提高了开发效率。热部署方案是这一功能的具体应用,它允许我们在不中断服务的情况下,对应用程序...
Spring 和 Hibernate 是两个非常重要的 Java 开发框架,它们在企业级应用开发中有着广泛的应用。...通过学习和实践这些代码,你可以更好地理解和掌握 Spring 和 Hibernate 整合的细节,提升你的 Java Web 开发能力。
基于Java类的配置方法和基于XML或基于注解的配置方式相比,前者通过代码的方式更加灵活地实现Bean的实例化及Bean之间的装配,但后面两者都是通过配置声明的方式,在灵活性上要稍逊一些,但是配置上要更简单一些。
spring配置的简单案例.zip spring配置的简单案例.zip spring配置的简单案例.zip spring配置的简单案例.zip spring配置的简单案例.zip spring配置的简单案例.zip spring配置的简单案例.zip spring配置的简单案例.zip ...
本篇文章将深入探讨“SpringCloud黑马商城后端代码”,解析其中的关键技术和实现细节。 首先,Spring Cloud是基于Spring Boot的一套微服务解决方案,它提供了服务注册与发现、配置中心、API网关、负载均衡、熔断器...
这个"Spring+Spring MVC+MyBatis之零配置之路源代码"项目旨在展示如何在不使用XML配置的情况下,通过Java配置和注解驱动的方式来搭建一个完整的SSM(Spring、Spring MVC、MyBatis)应用。 Spring框架作为基础,提供...
### SpringCloud配置详解 SpringCloud 是一套用于构建微服务架构的工具集,它极大地简化了分布式系统的开发。本文将从创建SpringCloud项目的基础配置出发,详细介绍如何构建一个完整的微服务应用,包括服务注册与...
在Spring框架中,SSH(Spring、Struts、Hibernate)是一种常见的企业级应用开发组合,而Spring作为其中的核心组件,主要用于...在实际项目开发中,应当根据具体需求选择合适的方法,以实现最佳的配置管理和代码结构。
在本压缩包中,你可能会看到Spring的IoC(控制反转)和DI(依赖注入)概念的具体实现,以及Spring MVC的使用,它是一个用于构建Web应用程序的模型-视图-控制器(MVC)框架。Spring的事务管理、数据访问集成、测试...
最后,确保在开发过程中持续关注Spring框架的版本更新,因为不同版本的Spring在加载配置文件时的细节可能有所不同。随着技术的发展,Spring也在不断地改进其配置加载机制,了解最新的加载方式可以帮助开发者更有效地...
Spring提供了一种优雅的方式来加载`.properties`配置文件,使得开发者可以将配置信息与代码分离,提高应用的可维护性和灵活性。本文将详细介绍如何让Spring自动加载自定义的`.properties`配置文件,并在代码中获取...
下面,我们将深入探讨Spring集成ActiveMQ的具体配置和实现细节。 ### 集成环境 首先,确定所使用的软件版本至关重要。本文中提到的Spring版本为2.5.6,ActiveMQ版本为5.4.2,这两个版本在当时(注意时间背景)是...