Java Spring:通过REST API对客户端进行实时状态更新

时间:2017-07-05 21:53:43

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

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

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

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

  

已处理的行数:10000个中的1个

它可以逐步更新/更改,但由于一行处理得非常快,显示每个处理的行数并不重要。

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

1 个答案:

答案 0 :(得分:2)

我自己找到了一个解决方案并使用了Web套接字。

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

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

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