|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.jboss.soa.esb.listeners.GpListener
public class GpListener
Controlling class that will launch listener child threads for supported transport listener classes, as indicated in the configuration XML tree pointed by arg[0]
Can be launched as uppermost controller (it has a main(args) method) Also implements Runnable, and can thus be launched in a child thread from an upper controlling process Listens on a JMS queue (with an optional message selector) for commands (e.g. Quiesce, Reload Parameters, Set End Time, etc.) Parameter reloading can also be set using the PARM_RELOAD_SECS attribute End time for this instance can also be set using the PARM_END_TIME attribute
| Nested Class Summary | |
|---|---|
static class |
GpListener.State
|
| Field Summary | |
|---|---|
static java.lang.String |
CHLD_EMAIL_PARMS
|
static java.lang.String |
COMMAND_CONN_FACTORY
|
static java.lang.String |
COMMAND_IS_TOPIC
|
static java.lang.String |
COMMAND_JNDI_NAME
|
static java.lang.String |
COMMAND_JNDI_TYPE
|
static java.lang.String |
COMMAND_JNDI_URL
|
static java.lang.String |
COMMAND_MSG_SELECTOR
|
protected int |
m_iDfltReloadMillis
|
static java.lang.String |
PARM_ACTION_CLASS
|
static java.lang.String |
PARM_END_TIME
|
static java.lang.String |
PARM_LISTENER_CLASS
|
static java.lang.String |
PARM_MAX_THREADS
|
static java.lang.String |
PARM_RELOAD_SECS
|
static java.text.SimpleDateFormat |
s_oDateParse
|
| Constructor Summary | |
|---|---|
GpListener(java.lang.String p_sParameterName)
|
|
| Method Summary | |
|---|---|
protected static java.lang.Class |
checkActionClass(java.lang.String p_sName)
Check to see if an object of the class (arg 0) can be instantiated in this context |
void |
checkParms(DomElement p_oP)
Check to see if all needed parameters are there, and assign default values to some of them |
boolean |
continueLooping()
Helper accessor for child processes that provides info to determine if they can continue with yet another execution cycle |
boolean |
endNotRequested()
Accessor to determine if execution time is not expired, and no shutdown request received |
boolean |
endRequested()
Accessor to determine if execution time is expired or shutdown requested |
static java.lang.Class[] |
getActionClassArgs()
|
java.util.Map<java.lang.String,java.lang.Object> |
getControllerAttributes()
Obtain a shallow copy of needed atributes in this object's last loaded parameter tree The local bject is cloned so child threads can use it as they choose to without interfering with the environment Listener processes controlled by this object should keep a reference to this object at construction time, and not call this method again unless they specifically need updated values. |
protected static InotificationHandler |
getNotifHandler()
Lazy instantiator of a InotificationHandler |
GpListener.State |
getState()
|
static void |
main(java.lang.String[] args)
|
static void |
notifyError(DomElement p_oP,
java.lang.Exception p_e,
java.io.Serializable p_oSer)
Find child nodes named "NotificationList" that contain an attribute 'type' that starts with "err" (case insensitive) or no 'type' attribute set |
static void |
notifyOK(DomElement p_oP,
java.io.Serializable p_oSer)
Find child nodes named "NotificationList" that contain an attribute 'type' that starts with "ok" (case insensitive) |
void |
run()
Main execution loop Will continue to run until either a) run time is expired b) quiesce command is received in command queue For every child element that contains a PARM_LISTENER_CLASS attribute, this method will try to launch a child thread instantiating an object of that class, and will call it's run() method Once all child processes are trigered, the main thread will either 1) wait for a message in the command queue (if one was configured) until next reload or end of run period expired or 2) Just sleep if there's no command queue to listen on |
boolean |
timeToReload()
Provide a common accessor to determine if parameters have to be reloaded For child threads this means thread execution has to end |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected int m_iDfltReloadMillis
public static final java.lang.String COMMAND_CONN_FACTORY
public static final java.lang.String COMMAND_JNDI_TYPE
public static final java.lang.String COMMAND_JNDI_URL
public static final java.lang.String COMMAND_IS_TOPIC
public static final java.lang.String COMMAND_JNDI_NAME
public static final java.lang.String COMMAND_MSG_SELECTOR
public static final java.lang.String PARM_RELOAD_SECS
public static final java.lang.String PARM_END_TIME
public static final java.lang.String PARM_LISTENER_CLASS
public static final java.lang.String PARM_ACTION_CLASS
public static final java.lang.String PARM_MAX_THREADS
public static final java.lang.String CHLD_EMAIL_PARMS
public static final java.text.SimpleDateFormat s_oDateParse
| Constructor Detail |
|---|
public GpListener(java.lang.String p_sParameterName)
throws java.lang.Exception
java.lang.Exception| Method Detail |
|---|
public static void main(java.lang.String[] args)
throws java.lang.Exception
java.lang.Exceptionpublic java.util.Map<java.lang.String,java.lang.Object> getControllerAttributes()
public GpListener.State getState()
public void checkParms(DomElement p_oP)
throws java.lang.Exception
p_oP - DomElement - Where to look for the mandatory/optional
configuration attributes
java.lang.Exception - - If attributes are wrong or not enough for a proper
runtime configurationpublic void run()
run in interface java.lang.Runnablepublic boolean endRequested()
public boolean endNotRequested()
public boolean timeToReload()
public boolean continueLooping()
public static java.lang.Class[] getActionClassArgs()
protected static java.lang.Class checkActionClass(java.lang.String p_sName)
throws java.lang.Exception
p_sName - String - class name to instantiate
- Must implement org.jboss.soa.esb.listeners.AbstractActionClass
java.lang.Exception - - if class not found in path or no appropriate constructor
public static void notifyOK(DomElement p_oP,
java.io.Serializable p_oSer)
p_oP - - DomElement to search for "NotificationList" child Elementsp_oSer - Serializable - Will constitute the body of the notification
public static void notifyError(DomElement p_oP,
java.lang.Exception p_e,
java.io.Serializable p_oSer)
p_oP - - DomElement to search for "NotificationList" child Elementsp_e - - Exception if not null, will be appended to the bodyp_oSer - Serializable - Will be included at the beginning of the body
of the notificationprotected static InotificationHandler getNotifHandler()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||