【问题标题】:Java Spring: Real-time status update to the client over REST APIJava Spring:通过 REST API 向客户端实时更新状态
【发布时间】:2017-12-09 17:37:43
【问题描述】:

我正在使用 Java Spring 开发一个 Web 应用程序,我希望用户能够从前端上传 CSV 文件,然后查看导入过程的实时进度,导入后他应该能够从导入的数据中搜索单个条目。

导入过程包括实际上传文件(通过 REST API POST 请求发送),然后读取文件并将其内容保存到数据库,以便用户能够从这些数据中进行搜索。

如何显示此过程的实时进度?我找到了 jQuery 的教程,它显示了上传/传输的数据量的进度,但是由于处理上传文件时完成的大部分工作,我想我想要一个解决方案,在行处理之前我找出数量文件中的行数,然后用户可以看到如下实时消息:

处理的行数:10000 行

它可以增量更新/更改,但由于一行的处理速度非常快,因此显示每个处理的行数并不那么重要。

无论哪种方式,问题是,将这些消息从 Spring REST API 发送到客户端的最简单方法是什么?

【问题讨论】:

标签: java spring rest spring-mvc spring-boot


【解决方案1】:

我自己找到了一个解决方案,并为此使用了 Web Sockets。

我使用了 Spring 文档中的这种方法:

https://spring.io/guides/gs/messaging-stomp-websocket/

它可以帮助将每个已处理行的消息发送到前端侦听器(在 Web 套接字主题/连接启动后),但我使用了不同的数据导入方法,我使用了批量插入,因此无法用于我,但网络套接字能够做到这一点。

【讨论】:

  • 你能分享你的方法吗?
  • @Farouk 嗨,我确实使用了我分享的教程中提供的相同代码。我确实对其进行了一些修改,但基础是相同的。但是如果你真的想看看我是怎么做到的,我猜你可以从我的 github 上看到:github.com/vsamma/DataProcessor
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-08
  • 2013-08-30
  • 2018-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-24
相关资源
最近更新 更多