org.jboss.soa.esb.actions
Class ContentBasedRouter

java.lang.Object
  extended by org.jboss.soa.esb.actions.AbstractActionLifecycle
      extended by org.jboss.soa.esb.actions.AbstractActionPipelineProcessor
          extended by org.jboss.soa.esb.actions.ContentBasedWiretap
              extended by org.jboss.soa.esb.actions.ContentBasedRouter
All Implemented Interfaces:
ActionLifecycle, ActionPipelineProcessor
Direct Known Subclasses:
BusinessRulesProcessor, MessageFilter

public class ContentBasedRouter
extends ContentBasedWiretap

ContentBasedRouter extends ContentBasedWiretap and implements the Content Based Routing pattern. It routes a message to one or more destination services based on the message content and the rule set it is evaluating it against.

For configuration details see

Author:
schifest@heuristica.com.ar, kstam@jboss.com
See Also:
ContentBasedWiretap

Field Summary
protected static org.apache.log4j.Logger _logger
           
 
Fields inherited from class org.jboss.soa.esb.actions.ContentBasedWiretap
_cbr, _cbrClass, _config, _destinations, _mapper, _messagePathList, _registry, _ruleLanguage, _ruleReload, _ruleSet, DEFAULT_CBR_CLASS, ENTRY_POINT, entryPointMap, messageMulticaster, OBJECT_PATH, OBJECT_PATH_TAG, ROUTE_TO_TAG
 
Fields inherited from interface org.jboss.soa.esb.actions.ActionPipelineProcessor
PROCESS_EXCEPTION_METHOD, PROCESS_METHOD, PROCESS_SUCCESS_METHOD
 
Constructor Summary
ContentBasedRouter(ConfigTree config)
           
 
Method Summary
 Message process(Message message)
          Route the message to one or more destinations, using the ContentBasedRouter to figure out to which destinations it is going to be routed too.
 Message split(Message message)
          Deprecated. no longer needed, leaving this in here for backwards compatibility, use the default "process".
 
Methods inherited from class org.jboss.soa.esb.actions.ContentBasedWiretap
buildDestinationKey, checkMyParms, executeRules, initialise, routeMessage
 
Methods inherited from class org.jboss.soa.esb.actions.AbstractActionPipelineProcessor
processException, processSuccess
 
Methods inherited from class org.jboss.soa.esb.actions.AbstractActionLifecycle
destroy
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jboss.soa.esb.actions.ActionLifecycle
destroy
 

Field Detail

_logger

protected static final org.apache.log4j.Logger _logger
Constructor Detail

ContentBasedRouter

public ContentBasedRouter(ConfigTree config)
                   throws ConfigurationException,
                          RegistryException,
                          MessageRouterException
Throws:
ConfigurationException
RegistryException
MessageRouterException
Method Detail

process

public Message process(Message message)
                throws ActionProcessingException
Route the message to one or more destinations, using the ContentBasedRouter to figure out to which destinations it is going to be routed too.

Specified by:
process in interface ActionPipelineProcessor
Overrides:
process in class ContentBasedWiretap
Parameters:
message -
Returns:
Message
Throws:
ActionProcessingException

split

@Deprecated
public Message split(Message message)
              throws ActionProcessingException
Deprecated. no longer needed, leaving this in here for backwards compatibility, use the default "process".

Throws:
ActionProcessingException