gpt4 book ai didi

java - GWT 作为非 Web 应用程序的一部分

转载 作者:搜寻专家 更新时间:2023-11-01 03:43:34 26 4
gpt4 key购买 nike

我们有一个运行某些批处理作业的 Java 服务器应用程序。它的核心功能不是 Web 应用程序,也没有理由那样做。但是我们想添加一个选项来检查应用程序从网页上做了什么。我们认为这可以通过 Google Web Toolkit 很好地完成。

在我们以前使用 GWT 的任何经验中,我们都将其部署在 Tomcat 上。但在这种情况下,这似乎有点矫枉过正。 Web 部件更像是应用程序实际执行的操作的辅助功能。

我正在考虑将 Web 服务器集成到 jar 文件中的解决方案 - 也许是 Jetty?这样完整的 java 应用程序可以与 web/GWT 部分一起部署到单个 jar 文件中。

这可能有性能方面的问题,但网络方面的用户很少。还有其他原因不这样做吗?

而且,您能否就如何为此配置 Eclipse/Ant/Jetty/GWT 提供一些建议?

最佳答案

我们在之前的项目中有过类似的经历。有一个 eclipse-rcp 应用程序,带有嵌入式 Jetty 服务器(它在应用程序启动时以编程方式启动)。 GWT 应用程序像往常一样部署到 Jetty 中。还有一个 OSGI 服务作为 Controller 来提供 GWT 服务器和应用程序其他部分之间的通信。 GWT 服务器是通常的 RCP 服务器,在大多数示例中都有描述。它引用了 Controller 。此外,它是一个事件监听器,以支持 bot 端通信。

我认为我们的主要问题是同步问题。由于在 eclipse-rcp 应用程序和 GWT 部分之间有很多消息(假设每收到 100 毫秒消息)并且 GWT 在客户端部分与其服务器部分之间采用异步通信方式,因此必须创建某种机制同步这些消息。否则没有性能问题(除了必须支持的 IE 6:S :D)。

希望这会有所帮助。

Upd:据我所知, Controller 被注册为 OSGI 服务只是为了能够与 Eclipse-RCP 部分的其他服务进行通信。为了与 GWT Controller 进行通信, Controller 实现了 GWT 服务器已知的特殊接口(interface)( Controller 通过实例化注册为实现者,服务器在 Controller 中注册为 IMessageListener)。这个接口(interface)位于单独的项目中,也可以内置到 .war 文件中。该项目还包含一些事件,以支持通过 IMessageListener 接口(interface)从 Controller 到 GWT 服务器的反向通信。

抱歉,这可能有点令人困惑。也许我应该画个图..

关于java - GWT 作为非 Web 应用程序的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8588057/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com