|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.jetspeed.aggregator.impl.WorkerMonitorImpl
The WorkerMonitor is responsible for dispatching jobs to workers It uses an Apache HTTPd configuration style of min/max/spare workers threads to throttle the rendering work. If jobs come in faster that processing, they are stored in a queue which is flushed periodically by a QueueMonitor.
Field Summary | |
protected static org.apache.commons.logging.Log |
log
Commons logging |
private int |
maxJobsPerWorker
Maximum of job processed by a worker before being released |
private int |
maxWorkers
Maximum number of workers |
private int |
minWorkers
Minimum number of wokers to create |
private org.apache.jetspeed.util.Queue |
queue
Job queue |
private static long |
sCount
Static counters for identifying workers |
private int |
spareWorkers
Minimum amount of spare workers |
private ThreadGroup |
tg
The thread group used to group all worker threads |
private Stack |
workers
Stack containing currently idle workers |
Constructor Summary | |
WorkerMonitorImpl(int minWorkers,
int maxWorkers,
int spareWorkers,
int maxJobsPerWorker)
|
Method Summary | |
protected void |
addWorkers(int wCount)
Create the request number of workers and add them to list of available workers. |
org.apache.jetspeed.aggregator.Worker |
getWorker()
Retrieves an idle worker |
void |
process(org.apache.jetspeed.aggregator.RenderingJob job)
Assign a job to a worker and execute it or queue the job if no worker is available. |
void |
release(org.apache.jetspeed.aggregator.Worker worker)
Put back the worker in the idle queue unless there are pending jobs and worker can still be committed to a new job before being released. |
void |
setQueue(org.apache.jetspeed.util.Queue queue)
|
void |
start()
|
void |
stop()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected static final org.apache.commons.logging.Log log
private static long sCount
private int minWorkers
private int maxWorkers
private int spareWorkers
private int maxJobsPerWorker
private Stack workers
private ThreadGroup tg
private org.apache.jetspeed.util.Queue queue
Constructor Detail |
public WorkerMonitorImpl(int minWorkers, int maxWorkers, int spareWorkers, int maxJobsPerWorker)
Method Detail |
public void start()
start
in interface org.apache.jetspeed.aggregator.WorkerMonitor
public void stop()
stop
in interface org.apache.jetspeed.aggregator.WorkerMonitor
public void setQueue(org.apache.jetspeed.util.Queue queue)
setQueue
in interface org.apache.jetspeed.aggregator.WorkerMonitor
protected void addWorkers(int wCount)
wCount
- the number of workers to createpublic org.apache.jetspeed.aggregator.Worker getWorker()
getWorker
in interface org.apache.jetspeed.aggregator.WorkerMonitor
public void process(org.apache.jetspeed.aggregator.RenderingJob job)
process
in interface org.apache.jetspeed.aggregator.WorkerMonitor
job
- the Job to processpublic void release(org.apache.jetspeed.aggregator.Worker worker)
release
in interface org.apache.jetspeed.aggregator.WorkerMonitor
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |