[
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)