[Index]

bus:queue


A Queue for beans. A work in progress.

Property Summary

capacity Capacity of the queue before it blocks.
name The name of this component.
put  
size  
taken The number of items taken from the queue.
waitingConsumers The number of consumers waiting.

Example Summary

Example 1 A simple example.
Example 2 An example in BeanBus.

Property Detail

capacity

Configured ByATTRIBUTE
AccessREAD_WRITE
RequiredNo, defaults to no limit.

Capacity of the queue before it blocks.

name

Configured ByATTRIBUTE
AccessREAD_WRITE
RequiredNo.

The name of this component.

put

Configured ByELEMENT
AccessWRITE_ONLY

size

AccessREAD_ONLY

taken

AccessREAD_ONLY
RequiredRead only.

The number of items taken from the queue.

waitingConsumers

AccessREAD_ONLY
RequiredRead only.

The number of consumers waiting.


Examples

Example 1

A simple example.

<oddjob>
    <job>
        <sequential>
            <jobs>
                <variables id="vars">
                    <results>
                        <list/>
                    </results>
                </variables>
                <bean class="org.oddjob.beanbus.destinations.BusQueue" id="queue"/>
                <parallel id="parallel">
                    <jobs>
                        <sequential>
                            <jobs>
                                <bean class="org.oddjob.beanbus.drivers.IterableBusDriver" id="producer" name="Producer">
                                    <values>
                                        <list>
                                            <values>
                                                <value value="apple"/>
                                                <value value="orange"/>
                                                <value value="pear"/>
                                            </values>
                                        </list>
                                    </values>
                                    <to>
                                        <value value="${queue}"/>
                                    </to>
                                </bean>
                                <stop job="${queue}" name="Stop Queue"/>
                            </jobs>
                        </sequential>
                        <bean class="org.oddjob.beanbus.drivers.IterableBusDriver" id="consumer" name="Consumer">
                            <values>
                                <value value="${queue}"/>
                            </values>
                            <to>
                                <value value="${vars.results}"/>
                            </to>
                        </bean>
                    </jobs>
                </parallel>
            </jobs>
        </sequential>
    </job>
</oddjob>

Example 2

An example in BeanBus.

<oddjob>
    <job>
        <parallel id="parallel" join="true">
            <jobs>
                <bus:bus xmlns:bus="oddjob:beanbus">
                    <of>
                        <bus:driver>
                            <values>
                                <list>
                                    <values>
                                        <value value="Apple"/>
                                        <value value="Orange"/>
                                        <value value="Banana"/>
                                        <value value="Pear"/>
                                        <value value="Kiwi"/>
                                    </values>
                                </list>
                            </values>
                        </bus:driver>
                        <bus:queue id="queue"/>
                    </of>
                </bus:bus>
                <bus:bus xmlns:bus="oddjob:beanbus">
                    <of>
                        <bus:driver>
                            <values>
                                <value value="${queue}"/>
                            </values>
                        </bus:driver>
                        <bus:collect id="results"/>
                    </of>
                </bus:bus>
            </jobs>
        </parallel>
    </job>
</oddjob>


(c) R Gordon Ltd 2005 - Present