词条 | Apache Camel |
释义 | 1, 什么是CamelApache Camel是Apache基金会下的一个开源项目,它是一个基于规则路由和中介引擎,提供企业集成模式的Java对象的实现,通过应用程序接口(或称为陈述式的Java领域特定语言(DSL))来配置路由和中介的规则。领域特定语言意味着Apache Camel支持你在的集成开发工具中使用平常的,类型安全的,可自动补全的Java代码来编写路由规则,而不需要大量的XML配置文件。同时,也支持在Spring中使用XML配置定义路由和中介规则。 Camel提供的基于规则的路由(Routing)引擎,可以使用Camel定义的DSL语言,方便的定义出各种Routing。 如下例: from(“file://xxxx").to("activemq://xxxx) 将某文件,读入并写入到ActiveMQ的JMS中。 2, 几个基本概念2.1EndpointCamel中的Endpoint类似webservice中的endpoint,即某个资源的位置。Camel使用URI来定位一个enpoint. 比如上例中的from(“file://xxxx”), 可以是file:///edi/po/?include=.*\\\\.txt, 代表/EDI/PO/下的所有txt文件,即为一个endpoint 2.2 ComponentCamel的内置组件(用户也可以按照Camel的接口约定,来定义自己的component), 用以提供对某种协议的资源访问的支持,如上例中的file即为component, 其提供了对本地文件系统访问的支持,activemq是另一个component, 提供了camel访问以ActiveMQ实现的JMS的直接访问能力。 2.3,Routing LanguageCamel 提供了3种方式定义Routing, a, Java 语言兼容的DSL语言 举例: from("file:edifiles?include=.*\\\\.txt") .to("smooks://classpath: smooks-config.xml") .bean(wrapper, "wrap") .to("activemq:queue:tempQ") .end(); 此例子中,是读取edifiles文件夹下的所有txt文件,然后路由至smooks组件,smooks是一个文件转换组件,完成后,调用bean组件,bean是一个可以调用用户自己定义的POJO的组件,完成后,通过activemq组件,路由至一个名为tempQ的JMS队列。 该语法是java兼容的,可以正常在Eclipse等Java IDE中编辑并编译。 B,Spring语法兼容的XML配置文件 <route> <from uri="file://inputdir/"/> <convertBodyTotype="java.lang.String"/> <to uri="activemq:queue:tempQ "/> </route> 此例子中,读取inputdir文件夹下的文件,然后转换成String,写入名为tempQ的JMS队列。 C, ScalaDSL |
随便看 |
|
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。