Spring 3.2.3 使用 @Scheduled 注解的定时任务没有生效

问题描述

用 Maven 构建的 Spring 3.2.3,尝试使用 @Scheduled 做定时任务,没有生效,但也未报任何错误。环境:pom.xml---------------------------------------------------<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.test</groupId> <artifactId>xyz</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>xyz</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>3.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>3.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>3.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>3.2.3.RELEASE</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> </dependencies></project>applicationContext.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" xmlns:context="http://www.springframework.org/schema/context" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd" default-autowire="byName" default-lazy-init="true"> <context:component-scan base-package="com.test" /> <task:annotation-driven /></beans>测试任务-------------------------------------------------------package com.test.task;import java.util.Date;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;@Componentpublic class MyTask { @Scheduled(cron = "0/5 * * * * ?") public void doSth() { System.out.println(new Date()); }}但是,如果不使用 @Scheduled,用 <task> 标签则任务正常运行:<bean id="myTask" class="com.test.task.MyTask" /><task:scheduled-tasks> <task:scheduled ref="myTask" method="doSth" cron="0/5 * * * * ?" /></task:scheduled-tasks>求解?

解决方案

怀疑 default-lazy-init="true" 惹得祸
解决方案二:
应该这样配置吧<context:component-scan base-package="com.test.task" />

时间: 2024-08-01 05:16:40

Spring 3.2.3 使用 @Scheduled 注解的定时任务没有生效的相关文章

使用spring @Scheduled注解执行定时任务

java applicationContext.xml配置: 添加命名空间:  代码如下 复制代码 xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation=" http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd" &

Spring学习笔记之依赖的注解(2)

Spring学习笔记之依赖的注解(2) 1.0 注解,不能单独存在,是Java中的一种类型 1.1 写注解 1.2 注解反射 2.0 spring的注解 spring的 @Controller@Component@Service//更多典型化注解,但是@Controller@Service建议使用 @service("personService")可以代替set get 方法,@Resource(name=personDao) @Autowired//按照类型匹配 @Qualifier

spring配置bean如何忽略通过注解引入的bean

问题描述 spring配置bean如何忽略通过注解引入的bean 我只想创建一个A类的对象,因为B中依赖A,但是A中通过注解又依赖于C,我只想创建一个A的对象给B,实际上B中我用不着A,只是测试时调用B中的部分方法,怎么定义才能实现这个呢? 解决方案 Spring中bean三种注解方式.Bean 基于注解的配置[Spring]IOC之基于注解的配置bean(上)

Spring的两种任务调度Scheduled和Async

Spring提供了两种后台任务的方法,分别是: 调度任务,@Schedule 异步任务,@Async 当然,使用这两个是有条件的,需要在spring应用的上下文中声明<task:annotation-driven/>当然,如果我们是基于java配置的,需要在配置哪里加多EnableScheduling和@EnableAsync 就像下面这样 1 2 3 4 5 6 @EnableScheduling @EnableAsync public class WebAppConfig {   ....

Spring Boot集成JPA的Column注解命名字段无效的问题

偶然发现,Spring Boot集成jpa编写实体类的时候,默认使用的命名策略是下划线分隔的字段命名. Spring Boot版本:1.5.4.release 数据表: id int, userName varchar(50) 那么如下的映射: @Data @Entity @Table(name="t_users") @NoArgsConstructor @AllArgsConstructor @Accessors(chain=true) public class User { @Id

Spring集成Hibernate,使用JPA注解方式,新增数据无法提交

问题描述 环境:spring 3.1hibernate 4.2.8 final mysql 5.6问题描述:调用controller的查询方法,可以正常返回数据调用controller的创建方法,即:新增数据,控制台打印出了读取和修改序号表的sql,但是没有打印插入数据的sql,数据库表中也没有新增数据.怀疑是spring控制的事务没有提交,但是排查了两三天,从网上找了各种方法,都没有解决问题.请各位大侠拉小弟一把,实在是找不到事务为什么没有提交. web.xml <?xml version=&qu

关于spring mvc Controller的几个注解

如果方法参数类型不是String,就要进行自动类型转换.详细参考Method Parameters And Type Conversion. @RequestParam:绑定请求参数到方法参数.required默认是true. @RequestBody:绑定HTTP请求体到方法参数.通过HttpMessageConverter将请求体转换到方法参数.HttpMessageConverter负责将HTTP请求消息转换成一个对象和将一个对象转换为响应体.RequestMappingHandlerAd

Spring 3整合Quartz 2实现手动设置定时任务:新增,修改,删除,暂停和恢复----每一个你不满意的当下,都有一个你不曾努力的过去

  摘要:在项目的管理功能中,对定时任务的管理有时会很常见.但一般定时任务配置都在xml中完成,包括cronExpression表达式,十分的方便.但是如果我的任务信息是保存在数据库的,想要动态的初始化,还有就是任务较多的时候不是得有一大堆的xml配置?或者说我要修改一下trigger的表达式,使原来5秒运行一次的任务变成10秒运行一次,或者说我要控制定时任务的 " 暂停 " 呢?暂停之后又要在某个时间点 " 重启 " 该定时任务呢?或者说直接 " 删除 

【Spring】定时任务详解实例-@Scheduled

转载请注明出处http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] 最近在做项目时间比较紧张也有比较久没写博客了. 现在项目的Redis缓存需要用到定时任务就学习了一下Spring 的@Scheduled注解.使用起来很简单. 这个例子是建立在之前我的一篇博客的实例上面的. 也就是架好了SSM框架. SSM框架博客的链接 [->点击访问上篇博客源码-CHX] 首先当然是在Spring的xml配置文件加入task的命名空间 xmlns:task="