Jakarta ee 服务器调用客户端(EJB)

Jakarta ee 服务器调用客户端(EJB),jakarta-ee,ejb,client-server,communication,Jakarta Ee,Ejb,Client Server,Communication,在我的项目中,我将业务逻辑实现为应用服务器上的EJB和一个调用这些EJB的桌面客户端独立应用程序。当我只有单边通信(客户端->服务器)时,一切正常,但现在我需要订阅/由服务器共享的可能性。因此,基本上在客户端登录到服务器后,服务器可以随时向其发送更新。因为我不能在应用服务器之外使用EJB,所以问题是如何使用它(解决此类问题的标准和首选方法是什么)。也许我可以使用任何JMS实现?(它在应用服务器之外是如何工作的…) 轮询将是一个简单的解决方案。它可能无法满足您在所有情况下的需求,因为它会增加服务器

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


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

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

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

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