| 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を実行する。 |