使用 Java EE 和 CDI 将 EJB 注入应用程序客户端并让应用程序客户端与 EJB 对话非常简单。真的很简单。而且,这种交流是书籍和互联网的全部内容。似乎没有人担心或需要让对话反过来进行。好吧,我希望我的 EJB 能够将事件和通知推送到源自服务器的应用程序客户端(应用程序客户端使用 Java Web Start 启动)。
当然,我可以让应用程序客户端像不断地从服务器轮询数据,但是,我不认为这是一个好的设计。我的 Web 客户端正在使用 ajax 长拉(彗星),它们对服务器的负担真的应该比我的应用程序客户端更小吗?
在我看来,JMS 是我唯一的选择。对于我将在两者之间进行的简单通信来说,这似乎有点过头了,我所知道的是,JAVA 端点 =) 我尝试了 RMI 并将远程存根从应用程序客户端推送到 EJB,但后来我得到了异常告诉我有问题的对象已经是某种远程存根。唔。
你有想法吗?
编辑
这里也有类似的讨论。他们也认为除了使用 JMS 之外别无他法。我发现我所有的 Java EE 书籍或官方 Oracle 教程都没有解决这个问题,这有点“令人困惑”。甚至在一个小的旁注中也没有。在这个宇宙中,只有我一个人在努力做我想做的事吗?