org.jboss.soa.esb.listeners
Class AbstractPoller

java.lang.Object
  extended by org.jboss.soa.esb.listeners.AbstractPoller
All Implemented Interfaces:
java.lang.Runnable, java.util.Observer
Direct Known Subclasses:
DirectoryPoller, RemoteDirectoryPoller, SqlTablePoller

public abstract class AbstractPoller
extends java.lang.Object
implements java.lang.Runnable, java.util.Observer


Field Summary
protected  int m_iDfltPollMillis
           
protected  int m_iMaxThr
           
protected  int m_iMinPollMillis
           
protected  int m_iPollMillis
           
protected  int m_iQthr
           
protected  int m_iSleepForThreads
           
protected  int m_iUpperThreadLimit
           
protected  GpListener m_oDad
           
protected  java.lang.Class m_oExecClass
           
protected  org.apache.log4j.Logger m_oLogger
           
protected  DomElement m_oParms
           
protected  java.lang.ThreadGroup m_oThrGrp
           
static java.lang.String PARM_POLL_LTCY
           
 
Constructor Summary
protected AbstractPoller(GpListener p_oDad, DomElement p_oParms)
           
 
Method Summary
protected  void checkParms()
          Check for mandatory and optional attributes in parameter tree
protected abstract  java.util.List<java.lang.Object> pollForCandidates()
           
protected abstract  java.lang.Object preProcess(java.lang.Object p_o)
           
 void run()
          Implement run method for this Runnable

Will continue to run until controlling class (ref in m_oDad) indicates no more looping allowed for all child classes

This condition will not prevent child processes to finish normally

 void update(java.util.Observable p_oObs, java.lang.Object p_oUsrObj)
          Implementation of Observer interface

Just count the number of active child threads

 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_iMinPollMillis

protected int m_iMinPollMillis

m_iDfltPollMillis

protected int m_iDfltPollMillis

m_iSleepForThreads

protected int m_iSleepForThreads

m_iUpperThreadLimit

protected int m_iUpperThreadLimit

PARM_POLL_LTCY

public static final java.lang.String PARM_POLL_LTCY
See Also:
Constant Field Values

m_iQthr

protected int m_iQthr

m_iMaxThr

protected int m_iMaxThr

m_iPollMillis

protected int m_iPollMillis

m_oThrGrp

protected java.lang.ThreadGroup m_oThrGrp

m_oLogger

protected org.apache.log4j.Logger m_oLogger

m_oDad

protected GpListener m_oDad

m_oParms

protected DomElement m_oParms

m_oExecClass

protected java.lang.Class m_oExecClass
Constructor Detail

AbstractPoller

protected AbstractPoller(GpListener p_oDad,
                         DomElement p_oParms)
                  throws java.lang.Exception
Throws:
java.lang.Exception
Method Detail

pollForCandidates

protected abstract java.util.List<java.lang.Object> pollForCandidates()

preProcess

protected abstract java.lang.Object preProcess(java.lang.Object p_o)
                                        throws java.lang.Exception
Throws:
java.lang.Exception

checkParms

protected void checkParms()
                   throws java.lang.Exception
Check for mandatory and optional attributes in parameter tree

Throws:
java.lang.Exception - - if actionClass not specified or not in classpath or invalid int values for maxThreads or pollLatencySecs

update

public void update(java.util.Observable p_oObs,
                   java.lang.Object p_oUsrObj)
Implementation of Observer interface

Just count the number of active child threads

Specified by:
update in interface java.util.Observer

run

public void run()
Implement run method for this Runnable

Will continue to run until controlling class (ref in m_oDad) indicates no more looping allowed for all child classes

This condition will not prevent child processes to finish normally

Specified by:
run in interface java.lang.Runnable