You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

servicemix-eip

The servicemix-eip component is a routing container where different routing patterns can be deployed as service unit.
This component is based on the great Enterprise Integration Patterns book.

Supported patterns:

  • Content-Based Router
  • Pipeline
  • Static Recipient List
  • Static Routing Slip
  • Wire Tap
  • XPath Splitter

In addition, this component can use all ServiceMix flows (including clustered and transactional flows), can be configured to be resilient to crashes and supports full fail-over to another node when clustered.

Using servicemix-eip as a standard JBI component

Installation

Installing the servicemix-eip component can be done in several ways:

  • drop the installer zip in an hotdeploy directory monitored by ServiceMix
  • using ant tasks

Note that when using ant tasks, the component is not started, you will have to start it manually using ant tasks or a console.

Configuration

TODO: configure a persistent / clustered store

Service Unit packaging

TODO:
Content of xbean.xml file to be packaged as a SU

<beans xmlns:eip="http://servicemix.apache.org/eip/1.0">

  ... add eip patterns here ...

</beans>

Using servicemix-eip in a ServiceMix xml configuration file

TODO:

<beans xmlns:sm="http://servicemix.apache.org/config/1.0"
       xmlns:eip="http://servicemix.apache.org/eip/1.0">

  <sm:container ...>
    <sm:activationSpecs>
      <sm:activationSpec>
        <sm:component>
          <eip:component>
            <eip:endpoints>

              ... add eip patterns here ...

            </eip:endpoints>
          </eip:component>
        </sm:component>
      </sm:activationSpec>
      ...
    </sm:activationSpecs>
  </sm:container>
  ...

</beans>

Patterns

Content-Based router

TODO:
ContentBasedRouter can be used for all kind of content-based routing.
This pattern implements the Content-Based Router pattern.

Error formatting macro: snippet: java.lang.NullPointerException

Pipeline

TODO:
The Pipeline component is a bridge between an In-Only (or Robust-In-Only) MEP and an In-Out MEP. When the Pipeline receives an In-Only MEP, it will send the input in an In-Out MEP to the tranformer destination and forward the response in an In-Only MEP to the target destination.

The old org.apache.servicemix.components.util.PipelineComponent will be deprecated. This one offers the same feature but can be safely clustered and use in a transactional enviromnent.

Error formatting macro: snippet: java.lang.NullPointerException

Static Recipient List

TODO:
The StaticRecipientList component will forward an input In-Only or Robust-In-Only exchange to a list of known recipients.
This component implements the Recipient List pattern, with the limitation that the recipient list is static.

Error formatting macro: snippet: java.lang.NullPointerException

Static Routing Slip

TODO:
A RoutingSlip component can be used to route an incoming In-Out exchange through a series of target services.
This component implements the Routing Slip pattern, with the limitation that the routing table is static.
This component only uses In-Out MEPs and errors or faults sent by targets are reported back to the consumer, thus interrupting the routing process.

Error formatting macro: snippet: java.lang.NullPointerException

Wire Tap

TODO:
A WireTap component can be used to forward a copy of the input message to a listener.
This component implements the WireTap pattern.
It can handle all 4 standard MEPs, but will only send an In-Only MEP to the listener.

Error formatting macro: snippet: java.lang.NullPointerException

XPath Splitter

TODO:
The XPathSplitter component implements the Splitter pattern using an xpath expression to split the incoming xml.

Error formatting macro: snippet: java.lang.NullPointerException
  • No labels