gpt4 book ai didi

java - Spring Batch - 保持服务器运行

转载 作者:行者123 更新时间:2023-12-01 19:49:30 24 4
gpt4 key购买 nike

我制作了这个 Spring 批处理项目(csv 到数据库,经典)- 工作正常:https://github.com/Tyvain/Spring-Batch-Generic-Bulk

在一个单独的项目中,我使用 vaadin 制作了一个应用程序,我可以在其中上传文件,效果很好: https://github.com/Tyvain/vaadin-simple-upload-file

-> 我们需要在上传文件时触发作业。

因此,我通过以下步骤将这 2 个项目重新组合到一个应用程序中:

  1. 禁用批处理:job.enabled: false(在 application.yml 中)
  2. 将所需的 vaadin 库添加到 pom
  3. 添加 View (MainView.java)。

此修改的来源:https://github.com/Tyvain/Spring-Batch-Generic-Bulk/tree/include-vaadin-upload-page

此时,我仍然不确定如何启动该作业,但我面临另一个问题:当我启动应用程序时,它停止了。留在 vaadin 应用程序中的服务器不会留在此处。

编辑:当我从作业配置中删除这些注释时,服务器保持正常运行:

//@Configuration
//@EnableBatchProcessing

1/是否可以在启用 spring-batch 的情况下让我的服务器保持运行?

2/这是错误的做法吗?

解决方案工作:https://github.com/Tyvain/ProcessUploadedFile-Vaadin_SpringBatch

最佳答案

当您从 Web 服务器内运行 Spring Batch 作业时,您需要设置一个在后台异步运行作业的 JobLauncher。此处详细解释:https://docs.spring.io/spring-batch/4.0.x/reference/html/job.html#runningJobsFromWebContainer

您需要使用异步TaskExecutor实现(例如ThreadPoolTask​​Executor)。请参阅此处的示例:https://docs.spring.io/spring-batch/4.0.x/reference/html/job.html#configuringJobLauncher

关于java - Spring Batch - 保持服务器运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51940165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com