org.apache.servicemix.eip.patterns
Class StaticRoutingSlip

java.lang.Object
  extended by org.apache.servicemix.common.endpoints.AbstractEndpoint
      extended by org.apache.servicemix.common.endpoints.SimpleEndpoint
          extended by org.apache.servicemix.common.endpoints.ProviderEndpoint
              extended by org.apache.servicemix.eip.EIPEndpoint
                  extended by org.apache.servicemix.eip.patterns.StaticRoutingSlip
All Implemented Interfaces:
Endpoint

public class StaticRoutingSlip
extends EIPEndpoint

A RoutingSlip component can be used to route an incoming In-Out exchange through a series of target services. This endpoint implements the Routing Slip pattern, with the limitation that the routing table is static. This endpoint only uses In-Out MEPs and errors or faults sent by targets are reported back to the consumer, thus interrupting the routing process. In addition, this endpoint is fully asynchronous and uses an exchange store to provide full HA and recovery for clustered / persistent flows.

Version:
$Revision: 376451 $
Author:
gnodet

Field Summary
 
Fields inherited from class org.apache.servicemix.eip.EIPEndpoint
lockManager, store, storeFactory, timerManager, wsdlExchangeTarget, wsdlResource
 
Fields inherited from class org.apache.servicemix.common.endpoints.SimpleEndpoint
logger
 
Fields inherited from class org.apache.servicemix.common.endpoints.AbstractEndpoint
definition, description, endpoint, interfaceName, service, serviceUnit
 
Constructor Summary
StaticRoutingSlip()
           
 
Method Summary
 ExchangeTarget[] getTargets()
           
protected  void processAsync(javax.jbi.messaging.MessageExchange exchange)
           
protected  void processProviderAsync(javax.jbi.messaging.MessageExchange exchange)
           
protected  void processSync(javax.jbi.messaging.MessageExchange exchange)
           
 void setTargets(ExchangeTarget[] targets)
          List of target endpoints used in the RoutingSlip
 void validate()
           
 
Methods inherited from class org.apache.servicemix.eip.EIPEndpoint
chooseFirstEndpointWithDescriptor, copyAttachments, copyProperties, getDefinition, getDefinitionFromDescription, getDefinitionFromWsdlExchangeTarget, getDefinitionFromWsdlResource, getDescription, getDescriptionForExchangeTarget, getEndpointsForExchangeTarget, getLockManager, getStore, getStoreFactory, getTimerManager, getWsdlExchangeTarget, getWsdlResource, process, setLockManager, setStore, setStoreFactory, setTimerManager, setWsdlExchangeTarget, setWsdlResource, start, stop
 
Methods inherited from class org.apache.servicemix.common.endpoints.ProviderEndpoint
activate, deactivate, getRole, processInOnly, processInOut
 
Methods inherited from class org.apache.servicemix.common.endpoints.SimpleEndpoint
done, fail, getChannel, getContext, getExchangeFactory, send, sendSync
 
Methods inherited from class org.apache.servicemix.common.endpoints.AbstractEndpoint
getEndpoint, getInterfaceName, getKey, getService, getServiceUnit, isExchangeOkay, prepareExchange, setDefinition, setDescription, setEndpoint, setInterfaceName, setService, setServiceUnit, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StaticRoutingSlip

public StaticRoutingSlip()
Method Detail

getTargets

public ExchangeTarget[] getTargets()
Returns:
Returns the targets.

setTargets

public void setTargets(ExchangeTarget[] targets)
List of target endpoints used in the RoutingSlip

Parameters:
targets - The targets to set.

validate

public void validate()
              throws javax.jbi.management.DeploymentException
Specified by:
validate in interface Endpoint
Overrides:
validate in class AbstractEndpoint
Throws:
javax.jbi.management.DeploymentException

processSync

protected void processSync(javax.jbi.messaging.MessageExchange exchange)
                    throws java.lang.Exception
Specified by:
processSync in class EIPEndpoint
Throws:
java.lang.Exception

processAsync

protected void processAsync(javax.jbi.messaging.MessageExchange exchange)
                     throws java.lang.Exception
Specified by:
processAsync in class EIPEndpoint
Throws:
java.lang.Exception

processProviderAsync

protected void processProviderAsync(javax.jbi.messaging.MessageExchange exchange)
                             throws java.lang.Exception
Throws:
java.lang.Exception


Copyright © 2005-2011 FuseSource. All Rights Reserved.