Java Spring引导和Reactjs之间的事件处理

Java Spring引导和Reactjs之间的事件处理,java,reactjs,spring,events,corda,Java,Reactjs,Spring,Events,Corda,这在互联网上似乎是一个简单的解决方案,但请相信我,我已经看透了很多例子,不知道该选择哪种方法 要求: 我在应用程序服务(spring boot/Java)端有一个订阅服务器,订阅了区块链事件(corda)。每当状态发生变化时,我想将此事件推送到UI(ReactJS) 我可以成功订阅区块链事件,但我仍有许多不完整或混乱的想法,比如将其推送到UI以及UI如何接收我的事件(请不要建议付费服务、API、库等) 我遇到并尝试了所有的方法,因为我最近正在处理一些事件,我需要一些光线来了解如何接近一个完整的解

这在互联网上似乎是一个简单的解决方案,但请相信我,我已经看透了很多例子,不知道该选择哪种方法

要求: 我在应用程序服务(spring boot/Java)端有一个订阅服务器,订阅了区块链事件(corda)。每当状态发生变化时,我想将此事件推送到UI(ReactJS)

我可以成功订阅区块链事件,但我仍有许多不完整或混乱的想法,比如将其推送到UI以及UI如何接收我的事件(请不要建议付费服务、API、库等)

我遇到并尝试了所有的方法,因为我最近正在处理一些事件,我需要一些光线来了解如何接近一个完整的解决方案

  • 发布者-订阅者模式
  • 可见模式
  • Sse发射器
  • 助焊剂与单体
  • Firebase(明确禁止)
  • +Boggler

  • 服务和UI之间的事件处理,应该是通过API/端点调用,还是可以在空中发出(我不清楚),并根据事件名称在UI中订阅
  • 我应该有两个专门用于此的API吗?一个触发器订阅另一个实际执行发射器
  • 如果端点总是被听到,它不需要专用资源吗
  • 我基本上需要一个明确的方法来处理这个问题


    可以根据需要提供代码

    我看到您提到您可以在Spring Boot中捕获事件。因此,您只需将事件信息发送到前端。我可以想出三种方法

    • Websockets:可能是杀伤力太大了,因为我想您不需要双向通信
    • 请参阅:可能是比WebSocket更好的选择
    • 或者简单地轮询:如果您不想查看实时通知,这也是一个不错的选择

    我看到您提到可以在Spring Boot中捕获事件。因此,您只需将事件信息发送到前端。我可以想出三种方法

    • Websockets:可能是杀伤力太大了,因为我想您不需要双向通信
    • 请参阅:可能是比WebSocket更好的选择
    • 或者简单地轮询:如果您不想查看实时通知,这也是一个不错的选择
      • 是的,长轮询

        解决方案似乎相当简单。连接一次,让他们尽可能长时间地等待。因此,在此期间,如果服务器收到任何新数据,服务器可以直接返回响应。通过这种方式,我们肯定可以减少所涉及的请求数量和响应周期

        您将在internet上找到多个实现示例,说明作为Spring Boot项目的一部分,轮询的时间是多长。

        是的,轮询的时间是多长

        解决方案似乎相当简单。连接一次,让他们尽可能长时间地等待。因此,在此期间,如果服务器收到任何新数据,服务器可以直接返回响应。通过这种方式,我们肯定可以减少所涉及的请求数量和响应周期


        您将找到多个实现示例,说明作为internet上Spring Boot项目的一部分,轮询的时间有多长。

        1、2和4基本上是3或通过WebSocket完成的。你在服务器上的工作方式并不一定会改变你在客户端上的工作方式。不是React专家,但请看一看不推荐使用的示例repo;它使用React作为前端;也许你会在那里找到一些答案。1、2和4基本上是3或通过WebSocket。你在服务器上的工作方式并不一定会改变你在客户端上的工作方式。不是React专家,但请看一看不推荐使用的示例repo;它使用React作为前端;也许你会在那里找到一些答案。