Digital platforms

Usage of Camel in implementing EAI approach

As we were discussing on many of the EAI patterns

Pipes and Filters is one of the processing technique of complex processing on a message while maintaining independence and Flexibility. Camel uses Pipeline in the Blueprint.xml to connect multiple routes this can be implemented using the JBoss fuse such as IDE or the Spring Integration.

Message Router is one of the mode to decouple individual processing steps so that messages can be passed to different filters depending on a set of conditions using the choice command.

<choice>

<when>

<xpath>/person/company = 'XYZ'</xpath>

<to uri="mock:result1"/>

</when>

<otherwise>

<log message="Other message"/>

<to uri="mock:result2"/>

</otherwise>

</choice>

How do we route message to a list of statically or dynamically specified recipients

<multicast stopOnException="true">

<to uri="direct:server1"/>

<to uri="direct:server2"/>

</multicast>

How we can process a message if it contains multiple elements each of which may need to be processed in a different way.

<split id="EmployeeTypeSplitter" parallelProcessing="true"

timeout="0">

<xpath>/employees/employee</xpath>

<setHeader headerName="EmployeeType"

id="SetEmployeeTypeFileName">

<xpath

resultType="java.lang.String">/employee/@employeetype</xpath>

</setHeader>

<to

uri="file:xyz/output?fileName=${in.header.EmployeeType}-

${date:now:yyyyMMddHHmmssSSSSS}.xml"/>

</split>

Aggregator - combine the results of messages but related messages can be processed as a whole

<aggregate strategyRef="myAggregatorStrategy"

eagerCheckCompletion="true">

<correlationExpression>

<constant>true</constant>

</correlationExpression>

<completionTimeout>

<constant>5000</constant>

</completionTimeout>

<to

uri="file:xyz/output?fileName=aggregator.txt" />

</aggregate>

These are examples of some of the patterns how its implemented in Camel , we can use Normalizer and other patterns. This can be referred from the camel site


要查看或添加评论,请登录

Prasad Narasimhan的更多文章

  • Designing with Angular JS 6.

    Designing with Angular JS 6.

    Initially when creating a component in Angular JS lets take care of the following better design. Component : Consists…

  • Event Driven Computing with AWS

    Event Driven Computing with AWS

    Microservices are often deployed into independent servers they don't share any compute or Storage resources. You should…

  • Kubernates,Messos and Docker

    Kubernates,Messos and Docker

    Google designed Kubernetes from scratch to orchestrate Docker containers. Kubernetes was released in February 2015 with…

  • Restful in AWS

    Restful in AWS

    This days lot many APIs are hosted on the Cloud Mobile,Web,Enterprise,IOT , Analytics on Cloud. We will look at AWS as…

  • Enterprise Transformation roadmap

    Enterprise Transformation roadmap

    In the Previous article we happened to look at what is enterprise Transformation, How the Data Consolidation handles…

  • Enterprise Transformation

    Enterprise Transformation

    Enterprise Transformation is a term which has been there for long. There are several approaches such as Zachman, Togaf…

  • Serverless approach using Amazon Lambda

    Serverless approach using Amazon Lambda

    Serverless approach is the new trend where we want to expose the Data as a Service which can be consumed by any…

    2 条评论
  • Digital platforms

    Digital platforms

    Discussing about the Landscape of Digital Platform how its transforming the industry In previous articles we happen to…

  • Digital Transformations

    Digital Transformations

    In continuation with the article on Digital Transformation I happened to talk about fusion of technologies coming…

  • Reactive Programming has the edge

    Reactive Programming has the edge

    Reactive Programming is now taking the world by Storm. Previously we would building the application in a sequential…

社区洞察

其他会员也浏览了