java - 使用 REST Web 服务触发批处理作业

标签 java spring angular spring-boot spring-batch

我的应用程序是基于 Spring Boot 和 Angular 2 构建的。我正在从 Angular 2 UI 上传一个 Excel 文件,该文件将保存在服务器中。我计划使用批处理作业读取此文件并将其保存在数据库中。我想使用其余的网络服务触发作业,这可能吗?我的目标是触发读取文件的作业,并且我的服务不应等待响应。有什么建议吗?

最佳答案

是的,您所要做的就是安排在单独的线程中将文件保存到数据库。您可以使用 spring-batch 或普通的旧 ExecutorService。 你的 Controller 方法看起来像这样:

@RequestMapping(...)
public ResponseEntity<Void> upload(File file) {
    executorService.submit(new BatchFileDBUpload(file));
    return ResponseEntity.accepted().build();
}

您的BatchFileDBUpload类需要是RunnableCallable

关于java - 使用 REST Web 服务触发批处理作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39264948/

相关文章:

java - 将实例保存到数据库中

java - 描绘超出字符范围

angular - 如何将字符串注入(inject)服务工厂?

java - 如何在 Android Studio 的 ActionBar 上添加返回按钮?

java - 缩短我的 if 语句

Spring 多事务管理器,单事务

java - Spring 启动2.2.2 : Jackson serializer for custom pagination doesn't work

java - tomcat 7 中的应用程序线程

java - 授权后不显示登录信息

Angular2 RC5 模拟激活路由参数