-
1. Re: performance of filter criteria
elf Feb 23, 2010 4:49 AM (in response to eugenbesel)try to use
<a4j:queue requestDelay="#{queueBean.requestDelay}"
http://livedemo.exadel.com/richfaces-demo/richfaces/queue.jsf?tab=queueSettings&cid=2869181
It helps me with filter issue
-
2. Re: performance of filter criteria
eugenbesel Feb 24, 2010 11:57 AM (in response to elf)hello Serhij,
thank you for advice.
It works.
-
3. Re: performance of filter criteria
eiselejosef Mar 10, 2010 11:03 AM (in response to eugenbesel)Hi All,
changing the requestDelay helps really. Thanx for that tipp.
Now I can type in my filter-condition without getting my text overwritten. But after the set requestDelay is over, the filtering is done character by character. So the table is quite often rerendered and that takes in total a long time.
Any suggestions?
Kind regards
Josef
-
4. Re: performance of filter criteria
nbelaevski Mar 10, 2010 6:14 PM (in response to eiselejosef)Try increasing request delay. -
5. Re: performance of filter criteria
eiselejosef Mar 11, 2010 3:15 AM (in response to nbelaevski)Hi Nick,
thanx for your answer.
I tried values up to
<a4j:queue requestDelay="10000"/>
but that doesn't change the problem.
I understand this attribute
requestDelay - Attribute defines the time (in ms) the request will be waiting in the queue before it is ready to be sent.
that the requests are queued and after that time in ms all requests are sent. What I want is not n Requests for n characters of my filter-criteria. I want 1 request for my whole filter-criteria.
cu Josef
-
6. Re: performance of filter criteria
nbelaevski Mar 11, 2010 5:22 AM (in response to eiselejosef)Josef,
While requests are waiting in queue, they are combined into a single request if came from the same component. If I set requestDelay=300 for queue, then, while I'm typing, requests are not sent. After I stopped typing and request delay passes, single request is sent. If I start typing again, they will be combined into a single one and sent after request delay triggered by me stopped typing.
Is this scenario satisfiable for your requirements? Looking at "10000" delay it is 10 seconds delay - very huge. So I want to confirm: does this work as I've described or not?
-
7. Re: performance of filter criteria
eiselejosef Mar 15, 2010 5:10 AM (in response to nbelaevski)Hi Nick,
10000ms was a test, at the moment I use 800ms.
You are right up to a certain point. If I type in 3 characters as filter criteria the table isn't rendered the moment I'm typing. But after I stopped typing and a certain time (depending on value of requestDelay) the table is rendered (I didn't check whether there is a request sent to the server, but I can see the table filtering/rendering) character by character. In my case 3 times. Also if I delete the filter criteria.
For me this:
"After I stopped typing and request delay passes, single request is sent."
is not working. My structure at the moment is:
<rich:extendedDataTable ...">
<a4j:support event="onselectionchange" reRender=".../>
<a4j:queue requestDelay="800"/>
<rich:column ..../>
</rich:column></rich:extendedDataTable>
cu Josef
-
8. Re: performance of filter criteria
ilya_shaikovsky Mar 16, 2010 4:48 AM (in response to eiselejosef)move queue out of the table(just made it form child) and retry. illustration of Nick's explanation here:http://livedemo.exadel.com/richfaces-demo/richfaces/queue.jsf?tab=queueSettings&cid=10576962 -
9. Re: performance of filter criteria
eiselejosef Mar 16, 2010 6:06 AM (in response to ilya_shaikovsky)perfect, thanx :-)
Now all other AJAX-requests on the page are also queued, but this is o.k.
cu Josef
PS: Any answers on http://community.jboss.org/thread/149260 ?