【问题标题】:Server calls client (EJB)服务器调用客户端 (EJB)
【发布时间】:2011-12-06 22:07:12
【问题描述】:

在我的项目中,我将业务逻辑实现为 Application Server 上的 EJB 和桌面客户端 - 调用这些 EJB 的独立应用程序。当我只有一侧通信(客户端->服务器)时一切正常,但现在我需要订阅/被服务器池化的可能性。所以基本上在客户端登录到服务器后,服务器可以随时向它发送更新。由于我不能在应用程序服务器之外使用 EJB,所以问题是如何做到这一点(解决此类问题的标准和首选方法是什么)。也许我可以实现任何 JMS ?(它在应用程序服务器之外是如何工作的......)

问候

【问题讨论】:

    标签: jakarta-ee ejb client-server communication


    【解决方案1】:

    轮询将是一个简单的解决方案。它可能无法满足您在所有情况下的需求,因为它会增加服务器的负载:

    • 只需在您的桌面客户端可以查询的服务器上创建一个 EJB 以获取任何更新。为此,您可以在客户端上创建一个后台线程。在客户端上使用某种观察者模式,您可以将信息“推送”到 GUI。

    【讨论】:

      【解决方案2】:

      JMS 实现在这里似乎很合适,服务器发布消息,客户端使用它。此外,由于通信将是异步的,因此它将以最佳方式利用客户端和服务器资源。

      轮询可能会降低性能,因为在许多情况下,它可能不需要作为一个连续的活动。您可以根据需要通过同步/异步通信使用主题/队列机制。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-04
        • 2021-04-10
        • 2018-04-13
        • 1970-01-01
        • 2020-07-18
        • 1970-01-01
        相关资源
        最近更新 更多