Class | Description |
---|---|
HttpServerFactoryJetty6 |
Jetty6対応の
HttpServerFactory 実装クラス。 |
HttpServerFactoryJetty9 |
Jetty9対応の
HttpServer を生成するファクトリ実装クラス。 |
HttpServerJetty6 |
Jetty6対応の
HttpServer サブクラス。 |
HttpServerJetty9 |
Jetty9対応の
HttpServer サブクラス。 |
LazySessionInvalidationFilter |
HttpSession.invalidate() の呼び出しを遅延させるFilter 実装クラス。
HttpRequestTestSupportHandler では、
テストクラスとJetty上で実行されるテスト対象間でのExecutionContext のコピーを行っている。
テスト実行中にセッションがinvalidateされた場合、Jetty 9ではExecutionContext の
書き戻し時にIllegalStateException がスローされてしまう。
これを回避するためには、HttpSession.invalidate() が実行されるタイミングを遅らせる必要がある。
サーブレットフィルタ(本クラス)を差し込んで、ここでHttpServletRequest をラップする。
ラップしたHttpServletRequest は、セッションを要求されると、やはりラップしたHttpSession を返却する。
このラップしたHttpSession ではHttpSession.invalidate() が呼び出されても、実際にはinvalidateをせず、
invalidateが要求されたことを記録しておく。
後続のすべての処理が終わった後、invalidateが要求された場合、実際にinvalidateを実行する。 |