Hi,

session size is calculated by serializing the session.

During session serializing your cached page is thrown away, see InSessionPageStore#writeObject(). So the next request will acquire the page from the persistent store: it's the identical page, just on a different memory location.

This is expected when sessions are serialized/deserialized - usually when the container decides to do so.
In your case it's a side effect of the request logger doing it.

Have fun
Sven


On 31.01.22 19:41, Drummer, Matthias wrote:

Hello all,

I stumbled across the following issue.

If the RequestLogger is activated, I get a new page object with every request (including AjaxRequests). If disabled then the page object will remain the same across multiple requests.

I am wondering why this is the case.

I attached a quickstart for reproducing the problem and made an ExamplePage (http://localhost:8080/example) which logs the Memory Address of the Page.

In my expectation the RequestLogger should log the request and additional informations but should not change the behavior of the application. It still works, but something is different which caughts my interest.

The behavior is as expected if I set the recordSessionSize property to false.

getRequestLoggerSettings().setRequestLoggerEnabled(true).setRecordSessionSize(false);

This setting affects the processing of org.apache.wicket.protocol.http.AbstractRequestLogger#requestTime where Application.get().getRequestLoggerSettings().getRecordSessionSize() is evaluated, but I have no idea why this leads to new objects.

Perhaps someone has an idea why this happens and which setting has to be made to get the expected behavior.

Thanks.

Greetings Matthias Drummer


---------------------------------------------------------------------
To unsubscribe, e-mail:users-unsubscr...@wicket.apache.org
For additional commands, e-mail:users-h...@wicket.apache.org

Reply via email to