org.jboss.soa.esb.actions
Class ContentBasedWiretap

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
All Implemented Interfaces:
ActionLifecycle, ActionPipelineProcessor
Direct Known Subclasses:
ContentBasedRouter

public class ContentBasedWiretap
extends AbstractActionPipelineProcessor

Author:
schifest@heuristica.com.ar, kstam@jboss.com, kevin.conner@jboss.com

Field Summary
protected  ContentBasedRouter _cbr
           
protected  java.lang.String _cbrClass
           
protected  ConfigTree _config
           
protected  java.util.Map<java.lang.String,Service> _destinations
           
protected static org.apache.log4j.Logger _logger
           
protected  ObjectMapper _mapper
           
protected  java.util.List<java.lang.String> _messagePathList
           
protected  Registry _registry
           
protected  java.lang.String _ruleLanguage
           
protected  boolean _ruleReload
           
protected  java.lang.String _ruleSet
           
static java.lang.String DEFAULT_CBR_CLASS
           
protected  MessageMulticaster messageMulticaster
           
static java.lang.String OBJECT_PATH
           
static java.lang.String OBJECT_PATH_TAG
           
static java.lang.String ROUTE_TO_TAG
           
 
Fields inherited from interface org.jboss.soa.esb.actions.ActionPipelineProcessor
PROCESS_EXCEPTION_METHOD, PROCESS_METHOD, PROCESS_SUCCESS_METHOD
 
Constructor Summary
ContentBasedWiretap(ConfigTree config)
           
 
Method Summary
protected  void checkMyParms()
          Reading the piece of configTree specific to the CBR, and setting the configuration.
 void initialise()
          Initialise the action instance.
protected  void invalidRuleConfiguration(Message message, java.util.List<java.lang.String> destinations)
           
protected  void noDestinations()
           
 Message process(Message message)
          Router the message to one or more destinations, using the ContentBasedRouter to figure out to which destinations it is going to be routed too.
protected  void routeMessage(Message message)
           
 
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

ROUTE_TO_TAG

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

OBJECT_PATH_TAG

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

OBJECT_PATH

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

DEFAULT_CBR_CLASS

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

_config

protected ConfigTree _config

_destinations

protected java.util.Map<java.lang.String,Service> _destinations

messageMulticaster

protected MessageMulticaster messageMulticaster

_cbrClass

protected java.lang.String _cbrClass

_ruleSet

protected java.lang.String _ruleSet

_ruleLanguage

protected java.lang.String _ruleLanguage

_ruleReload

protected boolean _ruleReload

_messagePathList

protected java.util.List<java.lang.String> _messagePathList

_mapper

protected ObjectMapper _mapper

_registry

protected Registry _registry

_cbr

protected ContentBasedRouter _cbr

_logger

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

ContentBasedWiretap

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

initialise

public void initialise()
Description copied from class: AbstractActionLifecycle
Initialise the action instance.

This method is called after the action instance has been instantiated so that configuration options can be validated.

Specified by:
initialise in interface ActionLifecycle
Overrides:
initialise in class AbstractActionLifecycle

process

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

Parameters:
message -
Returns:
Message
Throws:
ActionProcessingException

noDestinations

protected void noDestinations()

invalidRuleConfiguration

protected void invalidRuleConfiguration(Message message,
                                        java.util.List<java.lang.String> destinations)
                                 throws MessageRouterException
Throws:
MessageRouterException

routeMessage

protected final void routeMessage(Message message)
                           throws MessageRouterException
Throws:
MessageRouterException

checkMyParms

protected void checkMyParms()
                     throws ConfigurationException
Reading the piece of configTree specific to the CBR, and setting the configuration.

Throws:
ConfigurationException