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

V. *_*mma 8 java rest spring spring-mvc spring-boot

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

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

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

处理的行数:10000中的1

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

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

V. *_*mma 5

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

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

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

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