JMS Listener Routing Algorithm

The routing logic for the Service Container JMS listener follows a precise logic tree to determine how correctly route a JMS message to a given queue.

Routing algorithm sequence


  1. Is there only one service operation in the package?
    • Yes -- route the message to the referenced operation.
    • No -- continue evaluation.
  2. Is there a custom header property defined for routing?
    • Yes -- route the message to the referenced service operation (for example, outq/send).
    • No -- continue evaluation.
  3. Is there a jmsaction property defined that points to a specific service operation?
    • Yes -- route the message to the referenced service operation.
    • No -- continue evaluation.
  4. Do the JMS header properties indicate that there is there a custom wire format message defined?
    Note: Custom wire format is only used for routing purposes if steps 1-3 of the JMS listener routing algorithm do not resolve.

    • Yes -- try to route the message by the message definition. The JMS listener looks for a service operation that takes one of the supported format protocols as an input parameter (for example, SimpleMessage).
    • No -- continue evaluation.
  5. Is the message an XML message?


    • Yes -- use an XML parser to parse the message and look for service operation(s) in the package that are expecting a message with the same root element as the message. Then, route the message to the referenced service operation(s).
    • No -- direct the message to the fail queue.

Send your feedback on this help topic to Sybase Technical Publications: pubs@sybase.com

Your comments will be sent to the technical publications staff at Sybase, Inc. For product-related issues or technical support, contact Sybase Technical Support at 1-800-8SYBASE.