服务器调用客户端(EJB)

时间:2011-10-13 12:09:02

标签: java-ee ejb client-server communication

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

此致

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

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