Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring启动-将消息推送到Angular UI_Spring_Spring Boot_Spring Websocket - Fatal编程技术网

Spring启动-将消息推送到Angular UI

Spring启动-将消息推送到Angular UI,spring,spring-boot,spring-websocket,Spring,Spring Boot,Spring Websocket,我想开发一个应用程序,在这个应用程序中,我想将消息或数据从后端Spring boot应用程序推送到UI 我有以下规定— 考虑有一个REST服务,它使用POST方法接受来自其他应用程序的数据。 此数据将被推送到UI。 或 假设有一个后台进程正在运行,它生成事件,我们希望将这些事件推送到UI 为此,我了解了可以在Spring引导应用程序中使用的WebSocket组件 但是,是否需要任何其他设置才能将传入数据推送到UI 感谢您的帮助 谢谢 Avinash Deshmukh后端无法神奇地将更新推送到客户

我想开发一个应用程序,在这个应用程序中,我想将消息或数据从后端Spring boot应用程序推送到UI

我有以下规定—

考虑有一个REST服务,它使用POST方法接受来自其他应用程序的数据。 此数据将被推送到UI。 或

假设有一个后台进程正在运行,它生成事件,我们希望将这些事件推送到UI

为此,我了解了可以在Spring引导应用程序中使用的WebSocket组件

但是,是否需要任何其他设置才能将传入数据推送到UI

感谢您的帮助

谢谢


Avinash Deshmukh

后端无法神奇地将更新推送到客户端UI。后端将无法知道UI存在的位置,即UI的ip地址是什么,即使知道了,也可能无法通过防火墙或NAT建立连接

因此,客户端UI必须请求更新。一种方法是在UI应用程序中设置一个计时器,通过REST轮询更新。但这基本上就是WebSocket所做的——开销要小得多

这就是您日常使用的常见应用程序一直工作的方式。所以我不知道你为什么不想走websockets路线

从Spring5.0.5.RELEASE开始,由于@SendToUser注释的改进,不需要进行任何定制,它允许我们通过“/user/{sessionId}/…”而不是“/user/{user}/…”向用户目的地发送消息

这意味着注释依赖于输入消息的会话id工作,有效地向会话发送对目标私有的回复:

这里有一个很好的例子:


无论如何,你都需要某种消息代理。它是Spring STOMP或其他WS-extensions ActiveMQ over amqp、Azure Service Bus等。嗨,Rawb,谢谢你的回复。我将浏览你提供的链接并尝试理解它。再次感谢!!嗨,Rawb,我浏览了你在链接中提到的示例。但是,我是不是您不可能提供任何可以用于此用例的示例?关于,因此我不确定您为什么不想使用WebSocket。->我正在尝试此操作,因为有些用例需要将事件推送到UI。我遇到了关于SSE的问题。我不知道您的用例是什么,但服务器发送的事件可能会起作用。它们是v与WebSocket非常相似,但我不喜欢它们,因为它们要求http连接保持打开状态。这意味着在大规模使用大量用户或长连接的情况下并不可行,但它们可能是合适的,这取决于您需要做什么。它们还意味着它们将要求您的前端知道连接何时断开ped和重新连接。连接可能会因为连接问题或网络更改而中断。您好,Rawb,我能够在SimpleMessageTemplate类的帮助下使用websocket。在此类的帮助下,我们可以将消息传递到主题或队列,客户端可以在其中订阅服务器上载的消息。