org.apache.jetspeed.aggregator.impl
Class CommonjWorkerMonitorImpl

java.lang.Object
  extended by org.apache.jetspeed.aggregator.impl.CommonjWorkerMonitorImpl
All Implemented Interfaces:
commonj.work.WorkListener, EventListener, org.apache.jetspeed.aggregator.WorkerMonitor

public class CommonjWorkerMonitorImpl
extends Object
implements org.apache.jetspeed.aggregator.WorkerMonitor, commonj.work.WorkListener

The CommonjWorkerMonitorImpl is responsible for dispatching jobs to workers It wraps CommonJ WorkManager supported by IBM WebSphere and BEA WebLogic sever.

Version:
$Id: CommonjWorkerMonitorImpl.java 568339 2007-08-22 00:14:51Z ate $
Author:
Woonsan Ko

Nested Class Summary
(package private)  class CommonjWorkerMonitorImpl.CommonjWorkerRenderingJobTimeoutMonitor
           
(package private)  class CommonjWorkerMonitorImpl.MonitoringJobCommonjWork
           
(package private)  class CommonjWorkerMonitorImpl.RenderingJobCommonjWork
           
 
Field Summary
static String ACCESS_CONTROL_CONTEXT_WORKER_ATTR
           
static String COMMONJ_WORK_ITEM_ATTR
           
protected  boolean interruptOnTimeout
          If true, invoke interrupt() on the worker thread when the job is timeout.
protected  CommonjWorkerMonitorImpl.CommonjWorkerRenderingJobTimeoutMonitor jobMonitor
          Renering Job Timeout monitor
protected  Map jobWorksMonitored
          Rendering job works to be monitored for timeout checking
protected  boolean jobWorksMonitorEnabled
          Enable rendering job works monitor thread for timeout checking
protected static org.apache.commons.logging.Log log
          Commons logging
static String WORKER_THREAD_ATTR
           
protected  commonj.work.WorkManager workManager
          CommonJ Work Manamger provided by JavaEE container
 
Constructor Summary
CommonjWorkerMonitorImpl(commonj.work.WorkManager workManager)
           
CommonjWorkerMonitorImpl(commonj.work.WorkManager workManager, boolean jobWorksMonitorEnabled)
           
CommonjWorkerMonitorImpl(commonj.work.WorkManager workManager, boolean jobWorksMonitorEnabled, boolean interruptOnTimeout)
           
 
Method Summary
 int getAvailableJobsCount()
          Returns a snapshot of the available jobs
 int getQueuedJobsCount()
           
 int getRunningJobsCount()
           
 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.
protected  Object removeMonitoredJobWork(commonj.work.WorkItem workItem)
           
 void start()
           
 void stop()
           
 void waitForRenderingJobs(List renderingJobs)
          Wait for all rendering jobs in the collection to finish successfully or otherwise.
 void workAccepted(commonj.work.WorkEvent we)
           
 void workCompleted(commonj.work.WorkEvent we)
           
 void workRejected(commonj.work.WorkEvent we)
           
 void workStarted(commonj.work.WorkEvent we)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ACCESS_CONTROL_CONTEXT_WORKER_ATTR

public static final String ACCESS_CONTROL_CONTEXT_WORKER_ATTR

COMMONJ_WORK_ITEM_ATTR

public static final String COMMONJ_WORK_ITEM_ATTR

WORKER_THREAD_ATTR

public static final String WORKER_THREAD_ATTR

workManager

protected commonj.work.WorkManager workManager
CommonJ Work Manamger provided by JavaEE container


interruptOnTimeout

protected boolean interruptOnTimeout
If true, invoke interrupt() on the worker thread when the job is timeout.


jobWorksMonitorEnabled

protected boolean jobWorksMonitorEnabled
Enable rendering job works monitor thread for timeout checking


jobWorksMonitored

protected Map jobWorksMonitored
Rendering job works to be monitored for timeout checking


log

protected static final org.apache.commons.logging.Log log
Commons logging


jobMonitor

protected CommonjWorkerMonitorImpl.CommonjWorkerRenderingJobTimeoutMonitor jobMonitor
Renering Job Timeout monitor

Constructor Detail

CommonjWorkerMonitorImpl

public CommonjWorkerMonitorImpl(commonj.work.WorkManager workManager)

CommonjWorkerMonitorImpl

public CommonjWorkerMonitorImpl(commonj.work.WorkManager workManager,
                                boolean jobWorksMonitorEnabled)

CommonjWorkerMonitorImpl

public CommonjWorkerMonitorImpl(commonj.work.WorkManager workManager,
                                boolean jobWorksMonitorEnabled,
                                boolean interruptOnTimeout)
Method Detail

start

public void start()
Specified by:
start in interface org.apache.jetspeed.aggregator.WorkerMonitor

stop

public void stop()
Specified by:
stop in interface org.apache.jetspeed.aggregator.WorkerMonitor

process

public 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.

Specified by:
process in interface org.apache.jetspeed.aggregator.WorkerMonitor
Parameters:
job - the Job to process

getQueuedJobsCount

public int getQueuedJobsCount()
Specified by:
getQueuedJobsCount in interface org.apache.jetspeed.aggregator.WorkerMonitor

waitForRenderingJobs

public void waitForRenderingJobs(List renderingJobs)
Wait for all rendering jobs in the collection to finish successfully or otherwise.

Specified by:
waitForRenderingJobs in interface org.apache.jetspeed.aggregator.WorkerMonitor
Parameters:
renderingJobs - the Collection of rendering job objects to wait for.

getAvailableJobsCount

public int getAvailableJobsCount()
Returns a snapshot of the available jobs

Specified by:
getAvailableJobsCount in interface org.apache.jetspeed.aggregator.WorkerMonitor
Returns:
available jobs

getRunningJobsCount

public int getRunningJobsCount()
Specified by:
getRunningJobsCount in interface org.apache.jetspeed.aggregator.WorkerMonitor

workAccepted

public void workAccepted(commonj.work.WorkEvent we)
Specified by:
workAccepted in interface commonj.work.WorkListener

workRejected

public void workRejected(commonj.work.WorkEvent we)
Specified by:
workRejected in interface commonj.work.WorkListener

workStarted

public void workStarted(commonj.work.WorkEvent we)
Specified by:
workStarted in interface commonj.work.WorkListener

workCompleted

public void workCompleted(commonj.work.WorkEvent we)
Specified by:
workCompleted in interface commonj.work.WorkListener

removeMonitoredJobWork

protected Object removeMonitoredJobWork(commonj.work.WorkItem workItem)


Copyright © 1999-2007 Apache Software Foundation. All Rights Reserved.