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