Play framework 2.5 - 与客户沟通

Play framework 2.5 - communication with client

我有一个 Java Play Framework 2.5 项目,我必须定期更新客户的注册表。我不能做一个简单的 SQL insert/update 因为我要对每一行做一些逻辑和操作。

我最终使用 JS 在我的网站上上传了一个 xlsx 文件(异步方式),然后使用 Apache POI 对其进行处理。

我唯一的问题是我不知道如何通知上传文件的用户文件的处理进度。

我想简单地每 10% 显示一条带有百分比的消息。

我在网上搜索过,我认为最好的方法是将 websockets 与 Akka (BroadcastHub) 一起使用,但我只在 Scala 中找到示例或用于发送输出的双向通信仅当收到输入时。

如果您知道其他方法,欢迎您!

我建议你看看 https://github.com/playframework/play-java-websocket-example :它给出了一个 websocket 和 actor 交互的例子。

在您的情况下,您将创建一个命名的参与者 (useractor-someid),它管理突变。然后控制器将引用同一个演员(或让其他演员发送给 useractor-someid),以便它可以获取状态。我建议你使用 JsonNode 流,这样你就可以在 websocket 连接中发送/接收 JSON。