私はJettyのセッション永続性を働かせようとしています。実際にはセッションをディスクに書き込んでいますが、アプリケーションがセッションを読むチャンスを得るまでにセッションデータがすべて消去されるため、セッションを読み込むことはできません。ジェット持続セッション - 書き込み専用?
我々はそうのようにそれを設定している:
HashSessionManager sessionManager = new HashSessionManager();
sessionManager.setStoreDirectory(new File("sessions"));
// If I don't put in this next line, it seems like it "never" saves sessions to disk.
// Or at least I don't have the patience to wait however long it must take to do so.
sessionManager.setSavePeriod(5);//seconds
// Supposedly if you don't turn this on it can cause problems for some of the things
// Wicket puts in the session because Jetty would otherwise initialise the objects in
// the session before Wicket itself initialises.
sessionManager.setLazyLoad(true);
// ...
servletHandler.setSessionHandler(new SessionHandler(sessionManager));
ドキュメントは、私はすでに遅延読み込みを可能にすることによって、上記のコードにステップオーバーしている1を除く任意の明白な落とし穴に言及していないようです。しかし、そのクラスには他にもたくさんのセッションがあり、そのほとんどがJavadocで文書化されていないので、潜在的なバグを見つけるためにソースコードを掘り起こす以外に、ここからどこに行くのかが分かりません。
Wicketは、1つの.warに複数のwicketアプリケーションがある可能性があるため、キーにフィルタ/サーブレット名を使用します。ちょうどwicket-examples.warのように。私は桟橋の部分にはコメントできません。 –