JBoss.orgCommunity Documentation

6.20.  < a4j:queue >

The <a4j:queue> component creates queues that other components can use and reference.

User can create a default queue for a form ( overriding the global default queue ).

Table 6.39. a4j : queue attributes

Attribute NameDescription
bindingThe attribute takes a value-binding expression for a component property of a backing bean
disabledIf "true", disables this component on page.
idEvery component may have a unique id that is automatically created if omitted
ignoreDupResponsesAttribute allows you to ignore an Ajax response produced by a request if the newest 'similar' request is in the queue already. ignoreDupResponses="true" does not cancel the request while it is processed on the server, but just allows avoiding unnecessary updates on the client side if the response isn't actual now
nameThe name of the queue
onbeforedomupdateJavaScript code for call before DOM has been updated on client side
oncompleteJavaScript code for call after request completed on client side
onerrorHTML: a script expression; event fires whenever an JavaScript server side error occurs
onrequestdequeueonrequestdequeue
onrequestqueueonrequestqueue
onsizeexceededA script expression; a size is exceed
onsubmitJavaScript code for call before submission of an ajax request
requestDelayAttribute defines the time (in ms) the request will be waiting in the queue before it is ready to be sent.
sizeDefines the number of requests allowed in the queue at one time.
sizeExceededBehaviorDefines the strategies of the queue's behavior if the number of the requests waiting in the queue is exceeded. There are four strategies: dropNext (by default), dropNew, fireNext , fireNew.
statusstatus
timeoutWaiting time for response on a particular request. If no response is received during this time, the request is aborted

Table 6.40. Component identification parameters

NameValue
component-familyorg.ajax4jsf.Queue
component-classorg.ajax4jsf.component.html.HtmlQueue
renderer-typeorg.ajax4jsf.QueueRenderer
tag-classorg.ajax4jsf.taglib.html.jsp.QueueTag

Here is the simplest way for a component creation on a page.

Example:


<h:form>
       <a4j:queue name="fooQueue" ... />
</h:form>

Example:

import org.ajax4jsf.component.html.HtmlQueue;            

...
HtmlQueue myQueue = new HtmlQueue();

By means of the <a4j:queue> component a user can create several types of queues associated with it.

The "size" attribute helps you to set the number of requests allowed in the queue at one time.

The "sizeExceededBehavior" attribute defines four strategies of the queue's behavior if the number of the requests waiting in the queue is exceeded:

The "requestDelay" attribute defines time delay for all the requests which fired using this queue.

Example:


<a4j:queue requestDelay="2000" ... />

As a result all the requests which were fired using this queue will have 2 sec delay.

The requests collect in the queue, combining similar ones, during request delay. User should remember that such requests can combine, if they are raised sequentially, in order to not block the queue and not to change the requests order.

Here you can see the example of <a4j:queue> usage and sources for the given example.