You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Igor Vaynberg (JIRA)" <ji...@apache.org> on 2009/08/29 06:56:32 UTC

[jira] Resolved: (WICKET-2437) Ajax requests are called serially using only one channel (Channel busy - postponing...)

     [ https://issues.apache.org/jira/browse/WICKET-2437?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Igor Vaynberg resolved WICKET-2437.
-----------------------------------

    Resolution: Won't Fix

the only way to magically make pages threadsafe would be to lock on the page object any time a code using that object executes. this is what we do now. if we take that off you will have to make sure that access to all shared values, such as fields of a component, is properly synchronized yourself - ie by using synchronized keyword, locks, blocking queues, whatever. is that what you want to worry about any time you are creating a component?

if you dont want your images to load synchronously then instead of using lazy ajax panels add markup that points to a shared resource. shared resources are not synchronized. there is an article on the wiki that shows how to create a shared resource that streams an image from db, you can use that as a starting point to build your own solution.

> Ajax requests are called serially using only one channel (Channel busy - postponing...)
> ---------------------------------------------------------------------------------------
>
>                 Key: WICKET-2437
>                 URL: https://issues.apache.org/jira/browse/WICKET-2437
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket, wicket-extensions
>    Affects Versions: 1.4.0
>            Reporter: Rodrigo De Castro
>            Assignee: Matej Knopp
>
> I have several lazy load panel that load DynamicImageResource objects. They are always loaded in serial mode. These are the debug messages:
> INFO: Initiating Ajax GET request on ../?wicket:interface=:3:tabpanel:panel:app_graph_panel:1:graph::IBehaviorListener:0:1&random=0.7774967316771
> INFO: Invoking pre-call handler(s)...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Channel busy - postponing...
> INFO: Received ajax response (2665 characters)
> After checking the code, it seems that every Ajax code in Wicket does not specify the channel when calling wicketAjaxGet. By doing that, all the requests end up in the default queue, being executed serially.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.