Springboot集成SpringTask

简介: Springboot集成SpringTask

Springboot集成SpringTask

基于注解配置

第一步

在springboot启动类中添加注解@EnableScheduling

package top.simba1949;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
 * @author simba@onlying.cn
 * @date 2018/7/9 20:08
 */
@SpringBootApplication
@EnableScheduling // 支持schedule定时任务
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class,args);
    }
}


第二步

编写定时任务

package top.simba1949.task;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
 * @author simba@onlying.cn
 * @date 2018/7/10 20:52
 */
@Component
public class MySpringTask {
    private Logger logger = LoggerFactory.getLogger(MySpringTask.class);
    /**
     * spring task,@Scheduled(cron = "0/5 * * * * ? ")即可开启定时任务
     */
    @Scheduled(cron = "0/5 * * * * ? ")
    public void doTask(){
        logger.info(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()) + "  "+ Thread.currentThread().getName());
    }
}


基于配置文件

第一步

创建applicationContext-task.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:task="http://www.springframework.org/schema/task"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
       http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    <!-- 扫描组件 -->
    <context:component-scan base-package="top.simba1949.task" />
    <!-- 配置调度器,声明十个线程的池 -->
    <task:scheduler id="myScheduler" pool-size="10"/>
    <!-- 配置任务 -->
    <task:scheduled-tasks scheduler="myScheduler">
        <!--ref引用的定时任务的Bean,method指定该bean要执行的方法-->
        <task:scheduled ref="mySpringTask" method="doTask" cron="0/5 * * * * ? "/>
        <!--配置定时任务2-->
        <task:scheduled ref="mySpringTask02" method="doTask" cron="0/3 * * * * ? "/>
    </task:scheduled-tasks>
</beans>


第二步

将配置文件加入spring容器管理

package top.simba1949.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;
/**
 * @author simba@onlying.cn
 * @date 2018/7/9 20:09
 */
@Configuration
@ImportResource(locations = "applicationContext-springtask.xml")
public class SpringTaskConfig {
}


第三步

编写定时任务

package top.simba1949.task;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.ThreadFactory;
/**
 * @author simba@onlying.cn
 * @date 2018/7/10 20:52
 */
@Component
public class MySpringTask {
    private Logger logger = LoggerFactory.getLogger(MySpringTask.class);
    /**
     * spring task,@Scheduled(cron = "0/5 * * * * ? ")即可开启定时任务
     */
    public void doTask(){
        logger.info(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()) + "  "+ Thread.currentThread().getName());
    }
}


目录
相关文章
|
3月前
|
监控 druid Java
spring boot 集成配置阿里 Druid监控配置
spring boot 集成配置阿里 Druid监控配置
190 6
|
3月前
|
Java 关系型数据库 MySQL
如何实现Springboot+camunda+mysql的集成
【7月更文挑战第2天】集成Spring Boot、Camunda和MySQL的简要步骤: 1. 初始化Spring Boot项目,添加Camunda和MySQL驱动依赖。 2. 配置`application.properties`,包括数据库URL、用户名和密码。 3. 设置Camunda引擎属性,指定数据源。 4. 引入流程定义文件(如`.bpmn`)。 5. 创建服务处理流程操作,创建控制器接收请求。 6. Camunda自动在数据库创建表结构。 7. 启动应用,测试流程启动,如通过服务和控制器开始流程实例。 示例代码包括服务类启动流程实例及控制器接口。实际集成需按业务需求调整。
217 4
|
3月前
|
消息中间件 Java 测试技术
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
173 1
|
4月前
|
消息中间件 Java Kafka
springboot集成kafka
springboot集成kafka
125 2
|
4月前
|
运维 Java 关系型数据库
Spring运维之boot项目bean属性的绑定读取与校验
Spring运维之boot项目bean属性的绑定读取与校验
48 2
|
4月前
|
存储 运维 Java
Spring运维之boot项目开发关键之日志操作以及用文件记录日志
Spring运维之boot项目开发关键之日志操作以及用文件记录日志
52 2
|
4月前
|
Java Maven
springboot项目打jar包后,如何部署到服务器
springboot项目打jar包后,如何部署到服务器
267 1
|
3月前
|
消息中间件 Java Kafka
Spring Boot与Apache Kafka Streams的集成
Spring Boot与Apache Kafka Streams的集成
|
3月前
|
消息中间件 Java Kafka
Spring Boot与Apache Kafka集成的深度指南
Spring Boot与Apache Kafka集成的深度指南
|
3月前
|
消息中间件 Java Kafka
Spring Boot与Kafka的集成应用
Spring Boot与Kafka的集成应用
下一篇
无影云桌面