基于 ActiveMQ 和 ServiceMix应用Camel

Apache Camel是一个强大的基于企业整合模式的整合集成框架(SOA) ,或者说是一个消息路由规则转发者,通过Camel能够让你的数据按照你的业务规则在不同系统之间转发处理,从而实现SOA服务目标,达成各种业务子系统的整合集成。

Camel能够使用一种Java based Domain Specific Language (DSL)或基于Spring的XML配置或者Scala的DSL来描述路由规则。

而ServiceMix则是一个基于OSGI的ESB总线框架,如果说Camel是车,那么ServiceMix就是高速公路,ServiceMix提供了一个通达各种子系统的通道,相当于达到全国各地的高速公路网,而Camel则是你的车子,你可以规定Camel将你的业务数据送达到那个子系统进行处理。

ActiveMQ是一个异步消息系统JMS。

Camel takes ActiveMQ and ServiceMix for a ride !!一文演示如何将这三者结合在一起使用,以如下一个业务场景为案例:

如果一个消息类型是文件,来自一个文件系统,则将该消息发送到另外一个文件系统;

如果这个消息类型是不是文件,则将这个消息发送到一个JMS的Queue队列。