Spring 批处理 - 保持服务器运行

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


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


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


所以我将这两个项目重新组合成一个应用程序,步骤如下:


禁用批处理:job.enabled:false(在 application.yml 中)

将所需的 vaadin 库添加到 pom

添加视图 (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


慕仙森
浏览 157回答 2
2回答

慕田峪9158850

如果您想在上传后立即处理上传的文件,则 spring-batch 不是正确的方法。我建议在使用@Async 和 CompletableFuture 上传后在后台线程中处理它,在此处查看更多信息:Spring @Async with CompletableFuture
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java