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);
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章