Description
Since WICKET-5083 (6.8.0) Wicket initializes the page before calculating whether the page is stateless.
We identified a performance problem when a page is constructed (and thus touched) but then ignored via setResponsePage(AnotherPage.class)/RestartResponsePage and thus is not rendered and initialized.
In this case there is no reason to check whether the page is stateful and store it. Using browser back button will go to the previous page anyway.
For example:
- pageA has a link to PageB
- in PageB's constructor a RestartResponseException(PageC.class)
- PageC is rendered
In this example PageB will be fully initialized in org.apache.wicket.page.RequestAdapter#commitRequest to check whether it is stateful or not.
But there is really no reason to store it at all since PageB has never been rendered.
In our case PageB#onInitialize was expensive (read some settings from the backend) and thus we noticed the difference.
Attachments
Attachments
Issue Links
- breaks
-
SYNCOPE-476 NPE opening Roles tab
- Closed
- is related to
-
WICKET-5387 Page#onInitialize called after an exception in the constructor of Page
- Resolved
- relates to
-
WICKET-5471 Store the page if it is known that it will be used in a following request
- Resolved