org.jboss.soa.esb.services.routing
Class MessageRouter

java.lang.Object
  extended by org.jboss.soa.esb.services.routing.MessageRouter
Direct Known Subclasses:
ContentBasedRouter

public abstract class MessageRouter
extends java.lang.Object

Generic Message Router Interface.

Author:
kurt.stam@redhat.com

Field Summary
static java.lang.String AGGEGRATOR_TAG
           
static java.lang.String DEAD_LETTER_SERVICE_NAME
           
static java.lang.String INTERNAL_SERVICE_CATEGORY
           
static java.lang.String SPLITTER_TIME_STAMP
           
 
Constructor Summary
MessageRouter()
           
 
Method Summary
static void deliverMessage(java.lang.String serviceCategory, java.lang.String serviceName, Message message)
          Sends the message on to the service with the name(s) we just obtained from the routing.
static void deliverMessages(java.util.Collection<java.lang.String[]> destinations, Message message)
          Sends the message on to the service with the name(s) we just obtained from the routing.
abstract  java.util.List<java.lang.String> route(Message message)
          Routes the message to the next destination.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

AGGEGRATOR_TAG

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

SPLITTER_TIME_STAMP

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

INTERNAL_SERVICE_CATEGORY

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

DEAD_LETTER_SERVICE_NAME

public static final java.lang.String DEAD_LETTER_SERVICE_NAME
See Also:
Constant Field Values
Constructor Detail

MessageRouter

public MessageRouter()
Method Detail

route

public abstract java.util.List<java.lang.String> route(Message message)
                                                throws MessageRouterException
Routes the message to the next destination.

Parameters:
message -
Returns:
List of Strings containing the services to which the message was routed.
Throws:
MessageRouterException

deliverMessage

public static void deliverMessage(java.lang.String serviceCategory,
                                  java.lang.String serviceName,
                                  Message message)
                           throws MessageRouterException
Sends the message on to the service with the name(s) we just obtained from the routing.

Parameters:
serviceCategory - - the service category
serviceName - - the service name
message - - the message that needs routing and delivery
Throws:
MessageRouterException

deliverMessages

public static void deliverMessages(java.util.Collection<java.lang.String[]> destinations,
                                   Message message)
                            throws MessageRouterException
Sends the message on to the service with the name(s) we just obtained from the routing.

Parameters:
destinations - - Collection with the name of the destination services.
message - - the message that needs routing and delivery
Throws:
MessageRouterException