取得間隔を変更するとパフォーマンスが改善される可能性がありますが、使用するセッションやビジネスロジックの性質を考慮しないでこの値を設定すると、時間に基づく持続周期の場合は特に、データの不整合が発生する可能性があります。
たとえば、取得間隔を 60 秒に設定すると、セッションデータの値が 60 秒ごとに記録されます。このとき、クライアントが 20 秒ごとにサーブレットにアクセスして値を更新すると、不整合が発生します。
たとえば、次のようなオンラインオークションのシナリオを考えます。
入札が $5 から始まった場合、60 秒後に記録される値は $8 になります (20 秒間隔が 3 回)。
次の 40 秒で、クライアントが価格を増やし始めます。クライアントに表示される値は $10 になります。
クライアントの 20 秒の休憩の間に、Application Server が 10 秒で停止および起動します。その結果、60 秒間隔で記録された最新値 ($8) が、セッション内に読み込まれます。
クライアントは $11 が表示されるのを予期しながら再度クリックしますが、代わりに $9 が表示されます。これは間違っています。
したがって、データの不整合を避けるには、取得間隔の調整時にアプリケーションの予期される動作を考慮してください。