我想开发一个应用程序,在其中我想将消息(或数据)从后端Spring Boot应用程序推送到UI。
我具有以下要求-
OR
考虑到正在运行的后台进程正在生成事件,我们希望将这些事件推送到UI。
为此,我遇到了可以在Spring Boot应用程序中使用的WebSocket组件。
但是,是否需要进行其他设置才能将传入的数据推送到UI?
感谢您的帮助。
谢谢
Avinash Deshmukh
答案 0 :(得分:2)
后端无法神奇地将更新推送到客户端UI。后端将无法知道UI的位置(即UI的IP地址是什么),即使存在,它也可能无权建立连接(由于防火墙或NAT)。
因此,客户端UI必须请求更新。可以做到的一种方法是在UI应用程序中有一个计时器,该计时器通过REST轮询更新。但这本质上就是websocket所做的-开销要少得多。
这是您每天经常使用的常见应用程序的工作方式。因此,我不确定您为什么不想沿着websockets路线走。
...
从Spring 5.0.5.RELEASE开始,由于改进了@SendToUser批注,因此无需进行任何自定义,这使我们可以通过“ / user / {sessionId} / …”而不是“ / user / {user} /…”。
这意味着注释依赖于输入消息的会话ID起作用,从而有效地将会话的私有目标回复发送给了
...
这里有一个很好的例子: