springboot整合schedule/qartz

1、整合schedule
(1)jar

<!-- 添加 Scheduled 坐标 -->
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-context-support</artifactId>
</dependency>

(2)job

@Component
public class ScheduledDemo {

    @Scheduled(cron="0/5 * * * * ?")
    public void scheduleMethod(){
        System.out.println("定时出发schedule"+new Date());
    }
}

(3)启动类

@SpringBootApplication
@EnableScheduling
public class Springboot1Application {
	public static void main(String[] args) {
		SpringApplication.run(Springboot1Application.class, args);
	}
}

2、整合quartz
(1)jar

<!-- Quartz 坐标 -->
		<dependency>
			<groupId>org.quartz-scheduler</groupId>
			<artifactId>quartz</artifactId>
			<version>2.2.1</version>
			<exclusions>
				<exclusion>
					<artifactId>slf4j-api</artifactId>
					<groupId>org.slf4j</groupId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- Sprng tx 坐标 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
		</dependency>

(2)quartzConfig

@Configuration
public class QuartzConfig {
    /**
     * 1.创建 Job 对象
     */
    @Bean
    public JobDetailFactoryBean jobDetailFactoryBean(){
        JobDetailFactoryBean factory = new JobDetailFactoryBean();
        //关联我们自己的 Job 类
        factory.setJobClass(QuartzDemo.class);
        return factory;
    }
    /**
     * 2.创建 Trigger 对象
     * 简单的 Trigger
     */
    @Bean
    public SimpleTriggerFactoryBean
    simpleTriggerFactoryBean(JobDetailFactoryBean jobDetailFactoryBean){
        SimpleTriggerFactoryBean factory = new
                SimpleTriggerFactoryBean();
        //关联 JobDetail 对象
        factory.setJobDetail(jobDetailFactoryBean.getObject());
        //该参数表示一个执行的毫秒数
        factory.setRepeatInterval(2000);
        //重复次数
        factory.setRepeatCount(5);
        return factory;
    }
    /**
     * 3.创建 Scheduler 对象
     */
    @Bean
    public SchedulerFactoryBean
    schedulerFactoryBean(SimpleTriggerFactoryBean simpleTriggerFactoryBean){
        SchedulerFactoryBean factory = new SchedulerFactoryBean();
        //关联 trigger
        factory.setTriggers(simpleTriggerFactoryBean.getObject());
        return factory;
    }
}

(3)job

public class QuartzDemo implements Job {
    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        System.out.println("quartz------------"+new Date());
    }
}

(4)启动类

@SpringBootApplication
@EnableScheduling
public class Springboot1Application {

	public static void main(String[] args) {
		SpringApplication.run(Springboot1Application.class, args);
	}
}

猜你喜欢

转载自blog.csdn.net/cccp_2009/article/details/84336083