Re: Ajax call is blocking the entire UI

2018-06-26 Thread Cezary Biernacki
See also documentation:
http://tapestry.apache.org/session-storage.html#SessionStorage-SessionLocking

On Tue, Jun 26, 2018 at 5:40 PM Cezary Biernacki 
wrote:

> By default Tapestry locks user session when handling requests
> (see 
> org.apache.tapestry5.internal.services.TapestrySessionFactoryImpl#getSession).
> It makes your applications less susceptible to race conditions but of
> course it has drawback that only one request per user (if a session is
> used) can be handled concurrently.
>
> You can disable this behaviour by setting symbol
> "tapestry.session-locking-enabled" to false,
> see org.apache.tapestry5.SymbolConstants#SESSION_LOCKING_ENABLED.
>
> On Tue, Jun 26, 2018 at 5:30 PM Robson Liebke 
> wrote:
>
>> HI all,
>>
>> I have created a component that is used to load a badge count. I am
>> updating this component every 5 seconds, however the processing for some
>> environment takes longer due amount of data. There fore, the ajax call
>> request done in this component was just blocked the entire UI avoiding any
>> other request while the ajax call is not returned. I solved that problem
>> by
>> creating a thread to run my background process, and immediately return the
>> request, next time a new request is done I check if the work by thread is
>> done and update my UI. Nevertheless, I am still wondering why an ajax
>> request that is supposed to be asynchronous is blocked the other requests.
>>
>> Regards,
>> Rob
>>
>


Re: Ajax call is blocking the entire UI

2018-06-26 Thread Cezary Biernacki
By default Tapestry locks user session when handling requests
(see 
org.apache.tapestry5.internal.services.TapestrySessionFactoryImpl#getSession).
It makes your applications less susceptible to race conditions but of
course it has drawback that only one request per user (if a session is
used) can be handled concurrently.

You can disable this behaviour by setting symbol
"tapestry.session-locking-enabled" to false,
see org.apache.tapestry5.SymbolConstants#SESSION_LOCKING_ENABLED.

On Tue, Jun 26, 2018 at 5:30 PM Robson Liebke 
wrote:

> HI all,
>
> I have created a component that is used to load a badge count. I am
> updating this component every 5 seconds, however the processing for some
> environment takes longer due amount of data. There fore, the ajax call
> request done in this component was just blocked the entire UI avoiding any
> other request while the ajax call is not returned. I solved that problem by
> creating a thread to run my background process, and immediately return the
> request, next time a new request is done I check if the work by thread is
> done and update my UI. Nevertheless, I am still wondering why an ajax
> request that is supposed to be asynchronous is blocked the other requests.
>
> Regards,
> Rob
>


Ajax call is blocking the entire UI

2018-06-26 Thread Robson Liebke
HI all,

I've created a component that is used to load a notifications count (like
Facebook). I am updating this component (the zone) every 5 seconds, however
sometimes the process for getting the data may take longer. Therefore, the
ajax call request done in this component was just blocking the entire UI
avoiding any other request before the ajax call is returned. I've solved
that problem by creating a thread to run on the background, and immediately
return the request (does not matter if the the background thread is done),
next time a new request is done from this component, most probably the
thread on the background already processed my data, then the component is
updated with the count of notifications. Nevertheless, I am still wondering
why an ajax request that is supposed to be asynchronous is blocking any
other request.

Regards,
Rob


Ajax call is blocking the entire UI

2018-06-26 Thread Robson Liebke
HI all,

I have created a component that is used to load a badge count. I am
updating this component every 5 seconds, however the processing for some
environment takes longer due amount of data. There fore, the ajax call
request done in this component was just blocked the entire UI avoiding any
other request while the ajax call is not returned. I solved that problem by
creating a thread to run my background process, and immediately return the
request, next time a new request is done I check if the work by thread is
done and update my UI. Nevertheless, I am still wondering why an ajax
request that is supposed to be asynchronous is blocked the other requests.

Regards,
Rob