1

我正在使用 GWT、gilead 和 Hibernate 以及 Tomcat 构建一个 Intranet 应用程序。

由于我正在根据用户的反馈积极校准应用程序,因此我必须经常进行更改并重新启动 tomcat。我想知道我如何才能无缝地将这些更改提供给客户端。(目前我总是要求他们在我重新启动tomcat后刷新)。

由于应用程序是基于客户端 (js) 的,因此客户端具有应用程序代码。想象一下他打开应用程序的场景,我上传一个新版本并重新启动。重新启动后,用户可以完美地继续使用应用程序,因为他已经打开了页面,但他正在执行旧代码。如何让客户了解新代码?我想只是使会话无效并将用户重定向到登录页面不会这样做,因为 js 代码不会被刷新。

有任何想法吗?

4

1 回答 1

2

正如您提到的,该应用程序将在服务器端更新后继续工作。如果接口没有改变,即使调用服务器上的新版本也可能有效。

一种可能的解决方案是打开彗星连接,例如使用Atmosphere for GWT。在您部署新版本的任何时候,您都会向活动客户端广播事件。客户端应用程序将收到此广播并对其采取行动,提示用户刷新。您还可以使用此机制将消息传递给活动客户端,例如即将到来的服务器维护时间。

于 2012-07-31T15:29:10.493 回答