9

多くのサポート ケースを経て、GWT ベースのアプリケーションに関する最大の問題は、ユーザーが一度に何週間もアプリケーションを開いたままにしておくことであることに気付きました。これは、1 週間または 2 週間ごとにホットフィックスを実行すると、RPC スタブが同期されず、サイレント例外がスローされ、サイトが「壊れた」ように見えることを意味します。この問題を自動検出して回避する方法を知っている人はいますか? 私が持っていたいくつかのアイデアは...

  1. RPC 不一致の例外をキャッチしたら、ブラウザーを更新します。
  2. ホスト ページをロードするときに、ビルド元のソース管理にバージョン番号を挿入し、番号が変更されていないことを確認するステータス チェッカー/タイマーを用意します。リロードするとき。
  3. 任意のタイマー (おそらく 1 日 2 回) でリロードします。

何か案は?

4

2 に答える 2

1

4番目のオプションを提示したいと思います。

すべての UI 要求と RPC 要求がルーティングされる RPC プロキシと UI オブジェクト プロキシを作成します。このようにして、このプロキシが何かが古くなっていることを検出するたびに、ウィジェットを動的にロードしたり、予想される RPC モデルを変更したりできます。

これが Vaadin のやり方であり、うまく機能します。ご存じないかもしれませんが、Vaadin は GWT 上に構築された UI ツールキットです。過去数年間、これを使用して長時間実行されているいくつかの運用アプリケーションがあり、バージョンの不一致を追加するために UI Def 言語 (UIDL) にいくつかの調整を加えました。

この図は、彼らが何をするかをよく表しています。このようなものを自分で構築したくない場合は、もちろん Vaadin に移行することをお勧めします。

Vaadin クライアント側のアーキテクチャ

于 2012-05-10T18:43:28.397 に答える
0

Implement security that logs users out after an hour of idle time. Assuming your releases are overnight or on weekends, the users are logging in after the release. No need to refresh the app. this is viable especially if your site eventually needs users to login.

于 2013-07-22T19:04:28.083 に答える