Wer schon Webanwendungen entwickelt hat, der wird der sehr gut geschriebenen Ausführung von Jeff Schwartz folgen können. Rückblickend ist es eigentlich erschreckend, wie naheliegend die Lösung die ganze Zeit war. Denn Wicket ist kein Hexenwerk, sondern einfach nur gut durchdachter Java-Code.
Michael Mosmann
Praxisbuch Wicket
Professionelle Web-2.0-Anwendungen entwickeln
(bei Amazon)
Leseproben: Inhaltsverzeichnis,Vorwort,
Leseprobe aus Kapitel 3 und 4 (Leseprobe1)
Beispielcode zum Download
Praxisbuch Wicket
Professionelle Web-2.0-Anwendungen entwickeln
(bei Amazon)
Leseproben: Inhaltsverzeichnis,Vorwort,
Leseprobe aus Kapitel 3 und 4 (Leseprobe1)Beispielcode zum Download

Der Artikel liest sich gut, aber wenn man etwas mit Wicket gearbeitet hat, stellt man schnell fest, das die Probleme jetzt umgekehrt liegen. Man hat jede Menge Arbeit damit, die Website an den Stellen stateless zu halten, an denen es notwendig ist. Und trotzdem wird man regelmäßig die PageExpiredException bekommen.
Ich habe das PageExpired-Problem damit eingedämmt, in dem ich das Session-Timeout sehr hoch gesetzt habe und dann für die Session mit setMaxInactiveInterval() einen relativ kurzen Intervall definiert habe. Wenn ein Nutzer dann seinen Rechner rumstehen lässt und klickt dann auf einen Ajax…Link, dann hilft das auch nicht viel weiter. Aber für den normalen Anwendungsfall reicht das aus.
Das ist für unsere public Websites leider keine Lösung.
Was auch noch gut funktioniert ist die HybridUrlCodingStrategy. Damit gibt es überhaupt kein PageExpired-Problem mehr. Wenn Wicket die Version der Seite nicht finden kann, dann erzeugt Wicket eine neue Instanz.
Ok, Problem mit Michaels Hilfe gelöst. Vielen Dank!
Es bleibt aber kommentarlos zu vermerken, das Wicket für klassische “stateless” Websites nicht uneingeschränkt verwendbar ist und es u.U. größere Handarbeit erfordert.
Ich glaube, Wicket kann auch bei Webseiten, die “stateless” betrieben werden, punkten. Dazu muss man allerdings sein eigenes Stück Infrastruktur einbringen, was dank der offenen Architektur aber problemlos geht. Ich werde in den nächsten Tagen dieses Thema eingehender untersuchen und ein paar Ideen veröffentlichen.