You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Grigorov (JIRA)" <ji...@apache.org> on 2013/11/13 15:27:25 UTC

[jira] [Created] (WICKET-5415) Do not initialize pages which were not rendered

Martin Grigorov created WICKET-5415:
---------------------------------------

             Summary: Do not initialize pages which were not rendered
                 Key: WICKET-5415
                 URL: https://issues.apache.org/jira/browse/WICKET-5415
             Project: Wicket
          Issue Type: Improvement
          Components: wicket
    Affects Versions: 6.12.0
            Reporter: Martin Grigorov


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.



--
This message was sent by Atlassian JIRA
(v6.1#6144)