HoneyMoose
  • 首页
  • Java
  • Jersey
  • Jira
  • Confluence
  • U.S.
    • USRealEstate
    • USVisaTrack
    • H1B
  • 项目和网站
    • CWIKI.US
    • OSSEZ 社区
    • WIKI.OSSEZ.COM
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
BLOG.OSSEZ.COM
A responsive blog theme focused om user reading experience
  1. Home
  2. Computer Science
  3. This article

Spring Batch 异步调用任务

2022年05月01日 567Browse 0Like 0Comments

在默认的情况下任务的调用并不是异步执行的。

这会导致前端会返回 500 服务器错误,因为一个任务的执行时间可能会超过几分钟。

 

API-run-error-01

 

如上面的图片显示的错误,API 返回了超时。

解决办法

可以配置 Batch 批量程序采取异步执行的方式。

Spring RestController 的代码不需要改变,还是使用 JobLauncher 来运行的。

代码如下:

        JobParameters jobParameters = new JobParametersBuilder().addDate("timestamp", new Date()).toJobParameters();

        JobExecution jobExecution = jobLauncher.run(cloudSyncJob, jobParameters);
        logger.debug("JOB ID - [{}]", jobExecution.getJobId());

需要修改的地方是你的 Batch 配置类。

需要增加下面这段代码。

    /**
     * Config to async run Batch Jobs
     *
     * @param jobRepository
     * @return
     */
    @Bean
    public SimpleJobLauncher simpleJobLauncher(JobRepository jobRepository) {
        SimpleJobLauncher jobLauncher = new SimpleJobLauncher();
        jobLauncher.setJobRepository(jobRepository);
        jobLauncher.setTaskExecutor(new SimpleAsyncTaskExecutor());
        return jobLauncher;
    }

这里面最关键的一句话就是:

jobLauncher.setTaskExecutor(new SimpleAsyncTaskExecutor());

 

API-run-error-02

 

上面的这段代码是最关键的部分。

 

https://www.ossez.com/t/spring-batch/13832

Tags: None
Last updated:2022年05月01日

Kratos

stay absorbed stay excellent

Like
< Previous
Next >

Comments

Cancel reply

Newest Hotspots Random
Newest Hotspots Random
IntelliJ IDEA 2023.1 版本添加了包中类的列表功能 Jenkins 修改启动的端口 Spring 项目运行提示错误 Not a managed type Linux 查看 SELinux 的状态 WordPress 网站 Error Establishing a Database Connection(建立数据库连接时出错) Linux 开启或关闭 SELinux
Java 如何将 List 转换为 MAP 电脑软件(例如 Adobe、Autodesk)为什么那么容易被破解 如果特朗普在大选中失败,他本人将会面对什么样的命运 Confluence 6 修改空间名字和标识 Confluence 6 手动备份站点 长沙留得住人才吗
Categories
  • Algorithm(算法)
  • AMQP
  • Angular
  • CI
  • Compile And CI
  • Computer Science
  • Confluence
  • DataBase
  • Gradle
  • H1B
  • Hibernate
  • IDE
  • Java
  • Jersey
  • Jira
  • MariaDB
  • PrestaShop
  • Spring
  • Spring Batch
  • U.S.
  • USRealEstate
  • USVisaTrack
  • 我的小厨

COPYRIGHT © 2020 HoneyMoose. ALL RIGHTS RESERVED.

THEME CWIKIUS.CN MADE BY VTROIS