1

GWT、gilead と Hibernate、および Tomcat を使用してイントラネット アプリケーションを構築しています。

ユーザーのフィードバックに基づいてアプリケーションを積極的に調整しているため、頻繁に変更を加えて tomcat を再起動する必要があります。これらの変更をクライアント側で利用できるようにする方法を考えていました。(今のところ、Tomcat を再起動した後、常に更新するように依頼しています)。

アプリケーションはクライアント側 (js) ベースであるため、クライアントにはアプリケーション コードがあります。彼がアプリケーションを開いているシナリオを想像してみてください。私は新しいバージョンをアップロードして再起動します。再起動後、ユーザーはページを開いたままアプリケーションを完全に使用できますが、古いコードを実行しています。クライアントに新しいコードを認識させるにはどうすればよいですか? jsコードが更新されないため、セッションを無効にしてユーザーをログインページにリダイレクトするだけではうまくいかないと思います。

何か案は?

4

1 に答える 1

2

あなたが言及したように、アプリケーションはサーバー側の更新後も引き続き動作します。インターフェイスが変更されていなければ、サーバー上の新しいバージョンへの呼び出しでも機能する可能性があります。

考えられる解決策は、たとえばGWT の Atmosphere を使用して、comet 接続を開くことです。新しいバージョンを展開したときはいつでも、アクティブなクライアントにイベントをブロードキャストします。クライアント アプリケーションは、このブロードキャストを受信して​​それに基づいて動作し、ユーザーに更新を促します。このメカニズムを使用して、今後のサーバー メンテナンス時間など、アクティブなクライアントにメッセージを渡すこともできます。

于 2012-07-31T15:29:10.493 に答える