私のアプリケーションでは、現在表示されているページに基づいてロック/ロック解除機能をいくつか作成しました。ユーザーはページを見ることができ、自分のデータベースに格納されているロックを取得します。ロックが解除されてデータベースが更新されると、そのデータベースはロックされます。JSF - ユーザーがブラウザウィンドウを終了したときに検出します。
ユーザーがログアウトせずにブラウザウィンドウを閉じるときに対応しようとしています。彼らはまだロックを保持していると私は解放される必要があり、データベース呼び出しが発生する必要があります。
Springやその他のものを使用してJSFアプリケーションでこれを処理する方法はありますか?
私はjavascript関数onbeforeunloadを知っていますが、私はデータベースを更新できるJavaメソッドを呼び出す必要があります。
ユーザーがブラウザウィンドウを終了した場合、それは現在のユーザーのセッションに存在するため失われたajaxポーラーの状態ではありませんか?これは正しい仮定でない場合、すべてがどのように機能するかについての知識の欠如かもしれません。 @BalusC – medium
ポーラーは、セッションを生きたままにします。短いセッションの有効期間は、最後のポーリングの1分後に期限切れとなります。ユーザーがページを閉じると、ポーラーは停止し、セッションは終了します。実際、最大1分のギャップ期間がありますが、得られないギャップ期間よりも優れています。 – BalusC
@PreDestroyについては、この状況では便利でしょうか? –