Element name Attribute name Required Default Value Mnemonic Comments







EsbListenerController root node (1)




There must always be a root node even if






none of it's attributes are set

any






command-queue-class n null (no command queue)
Use 'org.jboss.soa.internal.soa.esb.command..JmsCommandQueue' if






you wish to send runtime asynchronous commands to your listener






controller, via a JMS queue


commandConnFactoryClass n ConnectionFactory JmsCommandQueue.COMMAND_CONN_FACTORY


commandJndiType n jboss JmsCommandQueue.COMMAND_JNDI_TYPE


commandJndiURL n localhost JmsCommandQueue.COMMAND_JNDI_URL


commandIsTopic n false JmsCommandQueue.COMMAND_IS_TOPIC


commandJndiName n null JmsCommandQueue.COMMAND_JNDI_NAME


messageSelector n null JmsCommandQueue.COMMAND_MSG_SELECTOR






If no command queue is specified, maximum run time and frequency of






parameter reloading, can be specified using the following two attributes


parameterReloadSecs n 180 seconds EsbListenerController.PARM_RELOAD_SECS


endTime n for ever EsbListenerController.PARM_END_TIME yyyyMMdd hh:mm:ss







Email configuration child element (0,1)













EmailProperties



If present, must be an immediate child of the root node


org.jboss.soa.esb.mail.smtp.host n localhost Environment.SMTP_HOST


org.jboss.soa.esb.mail.smtp.user n null Environment.SMTP_USERNAME


org.jboss.soa.esb.mail.smtp.password n null Environment.SMTP_PASSWORD


org.jboss.soa.esb.mail.smtp.port n 25 Environment.SMTP_PORT


org.jboss.soa.esb.mail.smtp.from n null Environment.SMTP_FROM


org.jboss.soa.esb.mail.smtp.auth n false Environment.SMTP_AUTH














Controlled ESB aware listener classes (1,*)













any (except EmailProperties)











All ESB aware listener classes must contain (1,n) <action> child elements













action
y
ListenerTagNames.ACTION_ELEMENT_TAG


class y
ListenerTagNames.ACTION_CLASS_TAG


process n process ListenerTagNames.PROCESS_METHOD_TAG a single method name, or a comma delimited list of method names






signature for all of them must be: Message myMethod (Mesage)


okMethod n null ListenerTagNames.NORMAL_COMPLETION_METHOD_TAG No method will be invoked on successful outcome if this attribute is not present


exceptionMethod n null ListenerTagNames.EXCEPTION_METHOD_TAG No method will be invoked when exceptions are thrown, if this attribute is not present








Users must specify one or more <action> elements





Action classes must have a constructor taking a single ConfigTree argument





Default name for 'message processing' method specified by process tag name is (also) 'process'





User can (optionally) supply method names for callback functions that can be called for 'normal completion' of step, or 'exception thrown'





If an exception is thrown at any point, the action processing pipeline aborts, logs the Exception, and invokes the 'exceptionMethod' if one was defined












If user supplied action class needs more run time configuration attributes and/or elements, these





must belong inside the action element (enclosed within the <action> </action> pair)





Action classes receive their own Element at constructor time, naturally including all child elements











JmsQueueListener configuration (ESB aware)














listenerClass y
EsbListenerController.PARM_LISTENER_CLASS In this case, it's org.jboss.soa.esb.listener.message.JmsQueueListener


service-category y
ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG Will register as servicing the JMS EPR, under this service-category


service-name y
ListenerTagNames.TARGET_SERVICE_NAME_TAG and service-name

The following tags will be used to determine (and build) te EPR this listener will be picking up Messages from






connection-factory n ConnectionFactory JMSEpr.CONNECTION_FACTORY_TAG


jndi-type n jboss JMSEpr.JNDI_TYPE_TAG


jndi-URL n localhost JMSEpr.JNDI_URL_TAG


destination-name y
JMSEpr.DESTINATION_NAME_TAG


message-selector n null JMSEpr.MESSAGE_SELECTOR_TAG








What will actually happen with the incoming messages will be the result of what the chaining of all 'process' methods does with them


















CbrJmsQueueListener configuration (for further info, please see the 'Content Based Routing' document)














This class extends JmsQueueListener, so service and EPR configuration is the same as the JmsQueueListener





It does however need a specific child element that is described below











cbr
y
ListenerTagNames.CBR_TAG


ruleSet y




ruleLanguage n