Elegante Methode, um zu erkennen, ob die GWT-Anwendung veraltet ist und den Browser automatisch aktualisiert?

9

Nach vielen Supportfällen stellen wir fest, dass das größte Problem, das wir mit unserer GWT-basierten Anwendung haben, darin besteht, dass die Nutzer sie wochenlang offen lassen. Das bedeutet, wenn wir alle ein oder zwei Wochen einen Hotfix ausführen, sind die RPC-Stubs nicht mehr synchron und verursachen stumme Ausnahmen, die dazu führen, dass die Site "kaputt" aussieht. Kennt jemand eine Möglichkeit, dieses Problem automatisch zu erkennen und zu vermeiden? Ein paar Ideen, die ich hatte, sind ...

  1. Wenn Sie eine RPC-Mismatch-Ausnahme abfangen, aktualisieren Sie den Browser.
  2. Beim Laden der Host-Seite injizieren Sie die Versionsnummer in der Quellcodeverwaltung, aus der der Build stammt, haben einen Status-Checker / Timer, der überprüft, dass sich die Nummer nicht geändert hat. Wenn es neu lädt.
  3. Laden Sie einen beliebigen Timer neu (vielleicht zweimal täglich).

Irgendwelche Ideen?

    
benstpierre 23.04.2012, 21:48
quelle

2 Antworten

1

Ich möchte eine vierte Option vorstellen.

Erstellen Sie einen RPC-Proxy und einen UI-Objektproxy, über den alle UI-Anforderungen und RPC-Anforderungen weitergeleitet werden. Auf diese Weise kann dieser Proxy, wenn er erkennt, dass etwas veraltet ist, das Widget dynamisch laden oder seine erwarteten RPC-Modelle ändern.

Das ist schön, wie Vaadin Dinge macht und es funktioniert großartig. Vaadin ist ein UI-Toolkit, das auf GWT basiert, falls Sie sich dessen nicht bewusst sind. In den letzten Jahren haben wir einige lang laufende Produktionsanwendungen verwendet, und wir haben einige Verbesserungen in ihrer UI Def-Sprache (UIDL) vorgenommen, um Versionsabweichungen hinzuzufügen.

Dieses Diagramm ist eine gute Darstellung dessen, was sie tun, und wenn Sie so etwas nicht selbst bauen möchten, würde ich Ihnen natürlich empfehlen, nach Vaadin zu ziehen.

    
Prasith Govin 10.05.2012 18:43
quelle
0

Implementieren Sie die Sicherheit, mit der Benutzer nach einer Stunde Leerlaufzeit angemeldet werden. Vorausgesetzt, Ihre Releases sind über Nacht oder am Wochenende, melden sich die Benutzer nach der Veröffentlichung an. Keine Notwendigkeit, die App zu aktualisieren. Dies ist vor allem dann sinnvoll, wenn Ihre Site Benutzer zur Anmeldung benötigt.

    
user2608031 22.07.2013 19:04
quelle

Tags und Links