当前位置: 首页 > news >正文

天津网站建设服务好2001国产卡一卡二新区

天津网站建设服务好,2001国产卡一卡二新区,网站建设网页制作软件有哪些,阿里企业邮箱怎么用​ 博客主页: 南来_北往 系列专栏:Spring Boot实战 前言 最近一周,被借调到其他部门,赶一个紧急需求,需求内容如下: PC网页触发一条设备升级记录(下图),后台要定时批量设备更…

 ​

 博客主页:     南来_北往

系列专栏:Spring Boot实战


前言

最近一周,被借调到其他部门,赶一个紧急需求,需求内容如下:

PC网页触发一条设备升级记录(下图),后台要定时批量设备更新。这里定时要用到Quartz,批量数据处理要用到SpringBatch,二者结合,可以完成该需求。

由于之前,没有用过SpringBatch,于是上网查了下资料,发现可参考的不是很多,于是只能去慢慢的翻看官方文档。

Spring Batch - Reference Documentation

具体实现

在你的pom.xml文件中添加以下依赖: 

<dependencies><!-- Spring Boot --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-batch</artifactId></dependency><!-- Quartz --><dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-quartz</artifactId></dependency>
</dependencies>

 在application.properties文件中添加以下配置:

spring.quartz.job-store-type=memory
spring.quartz.properties.org.quartz.scheduler.instanceName=MyScheduler
spring.quartz.properties.org.quartz.threadPool.threadCount=5

 创建一个实现Job接口的类,例如MyBatchJob

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.batch.core.JobParametersBuilder;
import org.springframework.batch.core.launch.JobLauncher;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.quartz.QuartzJobBean;public class MyBatchJob extends QuartzJobBean {@Autowiredprivate JobLauncher jobLauncher;@Overrideprotected void executeInternal(JobExecutionContext context) throws JobExecutionException {try {jobLauncher.run(myBatchJob(), new JobParametersBuilder().addString("JobID", String.valueOf(System.currentTimeMillis())).toJobParameters());} catch (Exception e) {throw new JobExecutionException(e);}}private Job myBatchJob() {// 返回你的Spring Batch Job实例}
}

 在你的配置类中(例如ApplicationConfig),添加一个SchedulerFactoryBean的Bean,用于配置定时任务的触发器:

import org.quartz.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.quartz.SchedulerFactoryBean;@Configuration
public class ApplicationConfig {@Beanpublic JobDetail myBatchJobDetail() {return JobBuilder.newJob(MyBatchJob.class).withIdentity("myBatchJob").storeDurably().build();}@Beanpublic Trigger myBatchJobTrigger() {SimpleScheduleBuilder scheduleBuilder = SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(60) // 设置任务执行间隔,例如每60秒执行一次.repeatForever(); // 设置任务重复执行return TriggerBuilder.newTrigger().forJob(myBatchJobDetail()).withIdentity("myBatchJobTrigger").withSchedule(scheduleBuilder).build();}@Beanpublic SchedulerFactoryBean schedulerFactoryBean() {SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean();schedulerFactoryBean.setJobDetails(myBatchJobDetail());schedulerFactoryBean.setTriggers(myBatchJobTrigger());return schedulerFactoryBean;}
}

现在,你已经成功地整合了Spring Boot、Spring Batch和Quartz,实现了定时批量任务。每隔指定的时间间隔(例如60秒),MyBatchJob将会被执行一次。

http://www.yayakq.cn/news/153553/

相关文章:

  • 网站动态标签石家庄做网站电话
  • 如何申请网站备案网站收录在哪里可以查看
  • 购物网站用html怎么做网站开发最合适的搭配
  • 上传网站工具php建站程序
  • 滨州改版网站建设服务医院 网站后台管理
  • 一个人是否可以做公司网站毕业设计做课程网站好
  • 政务网站建设工作总结网站开发运维机构设置
  • 网站特色分析柳州住房城乡建设厅官方网站
  • 浅谈网站建设网站专题制作原则
  • 网站规划与开发专业江苏建设厅厅长徐其耀
  • 英文网站建设怎么样厦门网站建设报
  • 滨州市网站建设网页设计学校
  • 百度wap网站建设网络广告营销的典型案例
  • 鞍山做网站优化公司举例网络营销的例子
  • 扬中网站建设案例设计上海2021门票
  • 个人网站用备案吗该网站使用的安全设置
  • 烟台网站开发技术网站代理浏览器一
  • aspx网站开发手机网站生成app客户端
  • 网站开发的账务处理WordPress方糖
  • 郑州网站建设讯息公司设计网站推荐
  • 建瓯网站建设wzjseo类似于微博网站怎么做的
  • 用别人服务器做网站网站建设 案例
  • 注册一个公司需要什么资料云速seo百度点击
  • 网站建设 ipc备案佛山专业网站设计公司
  • 新网站建设流程罗湖网站-建设深圳信科
  • 沈阳地区精神文明建设网站网络推广基础
  • iis默认网站删除google seo是什么
  • 层次结构分明的网站配色方案优秀的软文
  • 汕头建站模板上海建筑工程公司排行榜
  • 建设银行怎么在网站设置限额喀什seo排名