|
|||||||||||
| 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.WorkerMonitorpublic void stop()
stop in interface org.apache.jetspeed.aggregator.WorkerMonitorpublic void setQueue(org.apache.jetspeed.util.Queue queue)
setQueue in interface org.apache.jetspeed.aggregator.WorkerMonitorprotected void addWorkers(int wCount)
wCount - the number of workers to createpublic org.apache.jetspeed.aggregator.Worker getWorker()
getWorker in interface org.apache.jetspeed.aggregator.WorkerMonitorpublic void process(org.apache.jetspeed.aggregator.RenderingJob job)
process in interface org.apache.jetspeed.aggregator.WorkerMonitorjob - 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 | ||||||||||