There have been several requests for information about Session Size and Stateless/Stateful pages in Wicket. I've set up this page so people have a place to put/link to related documentation.
Let's start with some bullet points we can flesh out. When we have enough information we can organise it to create a cohesive and valuable document.

Introduction

Stateful Web Applications

Server Side State vs Client  Side State

Versioning/Back Button

Versioning.

Page Maps

Page maps.

Why Does It Matter?

Identifying The Problem

Map Size

Testing

Profiling

Detachable Models

Stateful vs Stateless

Stateless pages.

Beware ...

Non-static inner classes

Non-static inner classes can access the state of the enclosing object. To do this, the byte code of the inner-class contains a reference to the outer-class instance. So, when the inner-class instace is serialised, the outer-class instance will be serialised too!

Keeping a reference to the previous page

If a page keeps a reference to a previous page (for example to implement a "back to last step" button), this will cause the "previous page" to be serialised again when the page holding the reference is serialised. 

... alternative to this approach include ...

Other Gotchas ...

  • No labels