FileDocCategorySizeDatePackage
Consumer.javaAPI DocExample1624Thu May 23 09:32:50 BST 2002 sample.openmbean

Consumer

public class Consumer extends Worker
This class pulls WorkUnit instances from a Queue and performs a certain amount of "work", specified by workFactor.

Fields Summary
public static final String
ROLE
private static final int
DEFAULT_WORK_FACTOR
Constructors Summary
public Consumer(Queue queue)
put your documentation comment here

param
Queue queue


                   
        
        this(queue, DEFAULT_WORK_FACTOR);
    
public Consumer(Queue inputQueue, int workFactor)
put your documentation comment here

param
Queue inputQueue
param
int workFactor

        super(inputQueue, workFactor);
    
Methods Summary
public voidrun()
put your documentation comment here

        //**********
        // This is where the "work" takes place. In a real-world
        /// application that uses this pattern, this logic would
        /// be replaced by the real application logic.
        //**********
        _queue.addConsumer();
        while (!_stopCalled) {
            while (_suspended) {
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {}
            }
            WorkUnit unit = (WorkUnit)_queue.remove();
            // Burn some cycles...
            calculatePrimes(_workFactor);
            _numberOfUnitsProcessed++;
        }
        _queue.removeConsumer();