[ 
https://issues.apache.org/jira/browse/WICKET-6452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16153547#comment-16153547
 ] 

KAHA commented on WICKET-6452:
------------------------------

Now we are using wicket 7.8.0
yes you are right it is similar as WICKET-4733. But 4733 was about 
StalePageExceptions. Here is no exception. Here is problem with serialization 
and deserialization page .. 
Store Page 107 on session node01afimri2ixqlb14azexfgs28gg0    //PAGE IS 
SERIALIZED
Store Page 108 on session node01afimri2ixqlb14azexfgs28gg0
Get Page 107 for session node01afimri2ixqlb14azexfgs28gg0 result null 
//DESERIALIZATION RETURN NULL and this is reason to create new page instance

> Problem while multiple opening same page in WICkET 8.0.0-M6
> -----------------------------------------------------------
>
>                 Key: WICKET-6452
>                 URL: https://issues.apache.org/jira/browse/WICKET-6452
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 8.0.0-M6
>         Environment: Windows 10 64bit CZ Java(TM) SE Runtime Environment 
> (build 1.8.0_131-b11)
>            Reporter: KAHA
>         Attachments: ABRA BI - Google Chrome 15.08.2017 13_33_45.mp4, ABRA BI 
> - Google Chrome 15.08.2017 13_33_45_x264.mov, test.zip
>
>
> As you can see on the video, there is a problem when I multiple open same 
> page. Each one page is rendered again and again and again (you can see it on 
> rapidly increasing page number). There were no problem with same excercise on 
> Wicket 7. 
> I think that problem is in method 
> org.apache.wicket.core.request.handler.PageProvider.getPageInstance(). In 
> Wicket 7 there was 
> if (pageInstance == null)
> {
>       resolvePageInstance(pageId, pageClass, pageParameters, renderCount);
>       if (pageInstance == null)
>       {
>               throw new PageExpiredException("Page with id '" + pageId + "' 
> has expired.");
>       }
> }
> return pageInstance;
> If pageInstance is null, method resolvePageInstance is called and 
> resolvePageInstance first trying to load page stored on disk (stored thanks 
> Serialization) and it will success. If there is no page stored on disk with 
> this pageID, than getPageSource().newPageInstance( ...  is called to create 
> new page instance.
> On other hand on the new wicket 8 same method 
> org.apache.wicket.core.request.handler.PageProvider.getPageInstance() looks 
> like this
> return getProvision().getPage();
> and In Provision class method getPage looks like this
> if (page == null && doesProvideNewPage())
> {
>               page = getPageSource().newPageInstance(pageClass, 
> pageParameters);
> }
> return page;
> if the page is null, method does not try to load page stored on the disk, but 
> imediatly creates a new instance and this is why same page is created many 
> times repeatly.
> But it is only my guess.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to