如何在GWT应用程序中显示系统范围的公告/横幅

时间:2015-09-08 18:10:49

标签: java gwt

拥有现有GWT如果我想向所有用户显示系统范围的消息,我应该遵循哪种模式:

System is undergoing maintenance, excuse the potential slowdown here and there.

对于加载应用程序的新用户,我可以考虑预先填充其初始页面的方法,但对于已经加载了SPA页面的用户,我想不出任何优雅的方式来推送该消息。

当一段时间后“维护”结束时,还有一种同样优雅的收回信息的方式。

我应该使用计时器并向服务器询问要显示的消息列表,并让它在后台运行......?

谢谢!

2 个答案:

答案 0 :(得分:0)

这是恕我直言,这种事情(轮询)的旧方法,但优雅和现代的方式是通过html5(使用像atmosphere)或任何websockets simple gwt library之类的东西使用服务器端事件)等。如果您遵循此模式,请同时查看此other related question

答案 1 :(得分:0)

如果您没有其他即时服务器到客户端消息要接收,则最简单的轮询机制最容易实现和理解。支持即时服务器到客户端消息的更复杂的解决方案是websockets /服务器端事件/长轮询。

另请注意: 如果您正在使用GWT RPC服务,则交换正在运行的客户端的后端将导致IncompatibleRemoteServiceException,如果...

  

[...] RemoteService方法调用中使用的其中一种类型已添加或删除了字段。 [...]

此异常消息显示“此应用程序已过期,请单击浏览器上的刷新按钮”。您可能希望在onFailure方法中检查此异常并(请求用户)重新加载。有关此异常发生的其他情况的详细信息,请参阅该链接。