如何解决Spring Boot和Reactjs之间的事件处理
这似乎是互联网上的一个简单解决方案,但是相信我,我已经看了很多例子,无法弄清楚选择哪种方法。
要求: 我在应用程序服务(spring boot / Java)端有一个订阅者,订阅了区块链事件(corda)。每当状态发生变化时,我都希望将此事件推送到UI(ReactJS)。
我可以成功地订阅区块链事件,但是会陷入将其推向UI以及UI如何接收我的事件的多种不完整或纠结的想法(请不要建议付费服务,API,库等)。 / p>
由于我是新从事的活动,我遇到了各种方法,并尝试了所有方法。我需要了解如何寻求一个完整的解决方案。
- 发布者-订阅者模式
- 可观察的模式
- Sse发射器
- 助焊剂和单声道
- Firebase(明确表示否)
+ Boggler :
- 服务和UI之间的事件处理,应该通过API /端点调用还是可以在空中发出(我不清楚),并且可以基于事件名称在UI中订阅它吗?
- 我应该有两个专用于此的API吗?一个触发器订阅,另一个实际执行发射器?
- 如果始终听到端点,是否不需要专用资源?
我基本上需要一种CLEAR方法来处理此问题。
可以根据需求提供代码
解决方法
我看到您提到您能够捕获Spring Boot中的事件。这样您就可以将事件信息发送到前端了。我可以想到三种方法。
- Websockets:可能是一个过大的杀伤力,因为我想您不需要双向通信。
- 请参阅:也许比WebSockets更好的选择。
- 或者简单地轮询:如果您不想要实时通知,也不错。
是长时间轮询。
解决方案似乎非常简单。进行一次连接,让他们等待尽可能长的时间。这样,如果同时有新数据传入服务器,则服务器可以直接将响应返回。这样,我们绝对可以减少所涉及的请求和响应周期的数量。
作为Internet上Spring Boot项目的一部分,您将找到有关如何进行长时间轮询的多个实现示例。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。