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

manuel barzi commented on WICKET-6177:
--------------------------------------

hi, Thomas, Martin,

in the pr was introduced a change in default-page-manage-provider to check 
whether page-store can be asynchronous,
https://github.com/manuelbarzi/wicket/blob/master/wicket-core/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java#L61#L73

but that check excludes data-store check (lines above). may that logic be 
updated to subordinate the page-store async check into the data-store one 
above. that is:

{code}
        @Override
        public IPageManager apply(IPageManagerContext pageManagerContext)
        {
                IDataStore dataStore = newDataStore();

                StoreSettings storeSettings = getStoreSettings();

                IPageStore pageStore;

                if (dataStore.canBeAsynchronous())
                {
                        int capacity = 
storeSettings.getAsynchronousQueueCapacity();
                        dataStore = new AsynchronousDataStore(dataStore, 
capacity);

                        pageStore = newPageStore(dataStore);

                        if (pageStore.canBeAsynchronous())
                        {
                                pageStore = new 
AsynchronousPageStore(pageStore, capacity);
                        }
                }
                else
                        pageStore = newPageStore(dataStore);

                return new PageStoreManager(application.getName(), pageStore, 
pageManagerContext);

        }
{code}


> Blocking page serialization
> ---------------------------
>
>                 Key: WICKET-6177
>                 URL: https://issues.apache.org/jira/browse/WICKET-6177
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 7.4.0
>         Environment: any
>            Reporter: Martin Makundi
>              Labels: serialization
>         Attachments: 6177.tgz, Wicket_Quickstart_7.zip
>
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> We have a performance issue with our Wicket app, page serialization causes 
> inconvenience to user because PageStoreManager.storeTouchedPages() blocks the 
> request until pageSerializer.serialize(page) has been handled.
> Could this be solved by serializing the page in a separate thread and let the 
> request complete?
> The problem we have is that user is making quick small ajax modifications to 
> the page but serialization + network latency makes the delay very 
> inconvenient. If serialization could be done in separate thread, user would 
> feel only the network delay which is bearable.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to