`
流浪鱼
  • 浏览: 1682821 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Apache Camel

 
阅读更多

1, 什么是Camel

   Apache 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.1Endpoint

   Camel中的Endpoint类似webservice中的endpoint,即某个资源的位置。Camel使用URI来定位一个enpoint. 比如上例中的from(“file://xxxx”), 可以是file:///edi/po/?include=.*\\.txt, 代表/EDI/PO/下的所有txt文件,即为一个endpoint

2.2 Component

   Camel的内置组件(用户也可以按照Camel的接口约定,来定义自己的component), 用以提供对某种协议的资源访问的支持,如上例中的file即为component, 其提供了对本地文件系统访问的支持,activemq是另一个component, 提供了camel访问以ActiveMQ实现的JMS的直接访问能力。   [1]

2.3,Routing Language

  Camel 提供了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

分享到:
评论

相关推荐

    Apache Camel中文开发使用指南.zip

    Apache Camel 是一个强大的开源框架,专门用于构建企业级应用程序中的集成解决方案。它提供了一种声明式的方式,使得开发者可以轻松地定义数据路由和处理规则,从而实现系统间的通信。这个"Apache Camel 开发使用...

    ApacheCamel-JDBC

    Apache Camel 是一个流行的开源集成框架,它允许开发者以声明式的方式定义路由和转换数据,使得在不同的软件组件之间实现通信变得更加简单。JDBC(Java Database Connectivity)是Java平台中的一个标准API,用于与...

    姜宁-我和Apache Camel这些年/Years of Apache Camel and I

    Apache Camel是Apache软件基金会下的一个开源集成框架,它实现了企业集成模式(Enterprise Integration Patterns,EIP),旨在简化在企业中的应用程序、系统和服务之间的集成工作。Camel支持多种传输协议,如HTTP、...

    Apache Camel Developer's Cookbook

    Apache Camel是一种开源的集成框架,其目的在于简化企业应用集成和规则流程的开发。它基于企业集成模式(Enterprise Integration Patterns),使得不同系统之间的消息传递和数据交换变得更加容易。Apache Camel支持...

    Apache Camel 开发指南.rar

    Apache Camel 是一个强大的开源企业级集成框架,它简化了在Java应用程序之间建立复杂的消息传递流程。这个"Apache Camel 开发指南"压缩包包含了丰富的资源,帮助开发者深入理解Camel的各个方面,包括路由表达式、...

    apache camel 集成组件 教程

    ### Apache Camel 集成组件教程 #### 一、Apache Camel 概述 Apache Camel 是一个强大的开源消息中间件框架,旨在简化企业级应用中的消息处理逻辑。它提供了一种简单而灵活的方式来定义复杂的路由和数据转换规则。...

    Apache Camel 框架之---JMS路由.docx

    Apache Camel 框架之 JMS 路由 Apache Camel 框架实现的 JMS 路由是指使用 Apache Camel 框架来实现 Java 消息服务(JMS)的路由。JMS 是一个 Java API,用于在 Java 应用程序之间进行消息传递。Apache Camel 框架...

    简化软件集成:一个ApacheCamel教程

    简化软件集成:一个ApacheCamel教程在本教程中,您将了解集成大型软件的一些最大挑战,以及ApacheCamel如何轻松解决这些难题。在您的软件工程中,您可能至少做了一次以下操作:1.确定应启动数据发送的业务逻辑片段。...

    Apache Camel 源码分析.rar

    Apache Camel 是一个强大的开源企业集成库,它提供了一种声明式的方式来定义路由和转换数据,使得构建复杂的分布式系统变得更加简单。Camel 使用一种名为“DSL”(Domain Specific Language)的语法规则,允许开发者...

    Java_Apache Camel Spring Boot示例.zip

    Java_Apache Camel Spring Boot示例是一个综合性的项目,展示了如何在Spring Boot应用程序中集成Apache Camel框架。Apache Camel是一个流行的开源框架,它简化了企业级集成(EIP,Enterprise Integration Patterns)...

    ApacheCamel-FTP

    在提供的 "03-ApacheCamel-FTP" 压缩包文件中,可能包含了一些关于如何使用 Apache Camel FTP 组件的示例代码或配置文件。这些示例可以帮助初学者快速理解和实践 FTP 组件的功能。通常,示例可能涵盖以下方面: 1. *...

    05-ApacheCamel-CXF-WebService

    本项目"05-ApacheCamel-CXF-WebService"主要探讨了如何将Apache Camel与Apache CXF整合,以实现高效的服务消费和提供。 在项目中,"05-ApacheCamel-CXF-WebService-Client"这部分内容可能是客户端的应用,用于调用...

    Apache Camel框架 HTTP相关的jar包

    Apache Camel 是一个强大的开源集成框架,它允许开发者通过声明式的方式连接不同的系统和服务,实现企业级应用程序的集成。这个框架的核心理念是“企业集成模式”(Enterprise Integration Patterns),它提供了丰富...

    01-ApacheCamel-HelloWorld

    在这个"01-ApacheCamel-HelloWorld"示例中,我们将深入理解如何使用 Camel 实现一个简单的 HTTP "Hello World" 应用。 Apache Camel 的核心理念是“编程通过配置”,它提供了丰富的组件库,可以与各种协议、API 和...

    apache camel

    Apache Camel 是一个强大的开源集成框架,它允许开发者在各种企业应用程序之间建立灵活、可重用的数据路由和集成解决方案。这个框架的核心理念是“统一的消息模型”,它提供了多种组件,支持多种协议和数据格式,...

    ApacheCamel快速入门(上)

    在这个专题中,我们介绍了相当数量技术组件:Flume、Kafka、ActiveMQ、Rabbitmq、Zookeeper、Thrift、Netty、DUBBO等等,还包括本文要进行介绍的ApacheCamel。有的技术组件讲得比较深入,有的技术组件则是点到为止。...

    camel-idea-plugin, Apache camel IntelliJ IDEA 插件.zip

    camel-idea-plugin, Apache camel IntelliJ IDEA 插件 Apache camel IDEA插件 IntelliJ IDEA的插件,为代码编辑器提供一组 Apache camel 相关的功能。插件包括:Java,XML,属性或者yaml文件中驼峰终结点的代码完成...

    apache-camel-3.7.0_数据同步_

    Apache Camel 是一个强大的开源框架,专门用于构建企业级集成解决方案。在标题“apache-camel-3.7.0_数据同步_”中提到的“数据同步”,是指利用Apache Camel实现不同系统、数据库或应用程序间的数据交换和一致性...

Global site tag (gtag.js) - Google Analytics