📝 Apache Camel教程
13篇技术文档📅  最后修改于: 2020-10-30 10:02:33        🧑  作者: Mango
Apache Camel是一个开放源代码框架,提供基于规则的路由和中介引擎。 Apache Camel本质上提供了各种EIP的实现。通过提供与多种传输和API的连接性,它使集成更加容易。例如,您可以轻松地将JMS路由到JSON,将JSON路由到JMS,将HTTP路由到JMS,将FTP路由到JMS,甚至将HTTP路由到HTTP,并连接到微服务。您只需要在两端提供适当的端点即可。骆驼是可扩展的,因此将...
📅  最后修改于: 2020-10-30 10:02:56        🧑  作者: Mango
考虑一种情况,您所在镇上的大型在线杂货店(例如印度的Bigbasket)邀请您为他们设计IT解决方案。稳定且可扩展的解决方案将帮助他们克服当今面临的软件维护问题。这家在线商店在过去的十年中一直经营着自己的业务。商店接受来自客户的不同类别产品的在线订单,并将这些订单分发给相应的供应商。例如,假设您订购了一些肥皂,油和牛奶;这三个项目将分别分发给三个供应商。然后,这三个供应商将把他们的供应品发送到一个...
📅  最后修改于: 2020-10-30 10:03:17        🧑  作者: Mango
骆驼是一个黑匣子,它从某个端点接收消息并将其发送到另一个端点。在黑框内,可以对消息进行处理或简单地将其重定向。那么为什么要有一个框架呢?如引言案例研究所示,在实际情况下,可能有许多发送方和接收方都遵循其自己的协议,例如ftp,http和jms。系统可能需要许多复杂的规则,例如发件人A发出的消息仅应传递给B&C。在某些情况下,您可能必须将消息转换为收件人期望的另一种格式。根据消息内容,此翻译可能要遵...
📅  最后修改于: 2020-10-30 10:03:38        🧑  作者: Mango
看过Apache Camel的概述后,现在让我们深入研究其功能,以了解其提供的功能。我们已经知道Apache Camel是一个开源Java框架,它实质上提供了各种EIP的实现。 Camel通过提供与多种传输和API的连接性,使集成更加容易。例如,您可以轻松地将JMS路由到JSON,将JSON路由到JMS,将HTTP路由到JMS,将FTP路由到JMS,甚至将HTTP路由到HTTP,并连接到微服务。您...
📅  最后修改于: 2020-10-30 10:03:54        🧑  作者: Mango
骆驼的体系结构包含三个组件-集成引擎和路由器,处理器和组件。下图对此进行了说明-骆驼芯本身很小,包含13个基本组件。其余80多个组件位于核心之外。这有助于保持对其部署位置的低依赖性,并在将来促进扩展。组件模块提供了到外部世界的端点接口。端点由URI指定,例如上一章中看到的file:/ order和jms:orderQueue。处理器模块用于在端点之间处理和中介消息。我先前提到的EIP在此模块中实现...
📅  最后修改于: 2020-10-30 10:04:26        🧑  作者: Mango
CamelContext提供对Camel中所有其他服务的访问,如下图所示-让我们看看各种服务。默认情况下,Registry模块是JNDI注册表,其中包含应用程序使用的各种Javabean的名称。如果将Camel与Spring一起使用,则为SpringApplicationContext。如果在OSGI容器中使用骆驼,这将是OSGI注册表。顾名思义,类型转换器包含各种已加载的类型转换器,可将您的输入...
📅  最后修改于: 2020-10-30 10:04:46        🧑  作者: Mango
我们已经了解了集成代码中端点的外观。到目前为止,我们使用的表达式是端点:file:/ order,jms:orderQueue,direct:distributeOrderDSL。如您所见,它们遵循URI规范格式。在评估此URI时,CamelContext创建Endpoint实例。您无需担心在DSL中实例化Endpoint的实现。以我们前面的示例为例,您可以在Java DSL中指定端点,如下所示:...
📅  最后修改于: 2020-10-30 10:05:09        🧑  作者: Mango
骆驼提供了几个预构建的组件。在本章中,我们将讨论骆驼核心模块中的一些重要组件。豆角,扁豆Bean组件将Bean绑定到Camel消息交换。创建端点的URI被指定为bean:beanID,其中beanID是在Registry中指定的bean的名称。注意如何使用bean:协议指定端点。您可以选择指定要调用的bean方法。在这种情况下,将在评估Endpoint表达式时调用名为placeOrder的方法。M...
📅  最后修改于: 2020-10-30 10:05:25        🧑  作者: Mango
大多数集成项目都使用消息传递,因为它有助于创建松耦合的应用程序体系结构。消息传递可以是同步的也可以是异步的。 JMS支持点对点和发布-订阅模型。您对点对点使用队列,对发布-订阅模型使用主题。在Java平台上,JMS-Java Messaging Service提供了到消息传递服务器的接口。 Apache activeMQ是这样的开源JMS提供程序之一。 Camel不随JMS提供程序一起提供;但是,...
📅  最后修改于: 2020-10-30 10:05:49        🧑  作者: Mango
我们将使用Maven构建一个Camel项目。虽然,我们最好使用IntelliJ IDE进行开发。您可以为该项目使用选择的任何IDE。创建新项目创建一个新的Maven项目并指定以下内容-选择项目的默认位置,或者如果您愿意,请指定您选择的目录。添加依赖项您需要添加一些依赖关系才能使用Camel。依赖项添加到pom.xml中。所以打开pom.xml并添加以下两个依赖项-注意-我们需要为应用程序提供最少的...
📅  最后修改于: 2020-10-30 10:06:17        🧑  作者: Mango
现在,我们将使用Spring从上一章重新创建应用程序。这将使我们对如何用XML(而不是DSL)创建骆驼式路由产生一个想法。创建新项目创建一个新的Maven项目并指定以下内容-选择项目的默认位置,或者如果您愿意,请指定您选择的目录。添加依赖项除了在先前的应用程序中使用过的核心依赖关系之外,还需要添加更多依赖关系来使用Spring。依赖关系已添加到pom.xml中。现在,打开pom.xml并添加以下依...
📅  最后修改于: 2020-10-30 10:06:38        🧑  作者: Mango
以下资源包含有关Apache Camel的其他信息。请使用它们来获得有关此方面的更深入的知识。Apache Camel上的有用链接Apache Camel–Apache Camel的官方网站。Apache Camel @ Wikipedia-Apache Camel,其历史和各种其他术语已用简单的语言进行了解释。关于Apache Camel的有用书籍要在此页面上注册您的网站,请发送电子邮件至con...
📅  最后修改于: 2020-10-30 10:06:52        🧑  作者: Mango
Apache Camel是一个开放源代码框架,提供基于规则的路由和中介引擎。 Apache Camel本质上提供了各种EIP的实现。通过提供与多种传输和API的连接性,它使集成更加容易。例如,您可以轻松地将JMS路由到JSON,将JSON路由到JMS,将HTTP路由到JMS,将FTP路由到JMS,甚至将HTTP路由到HTTP,并连接到微服务。您只需要在两端提供适当的端点即可。骆驼是可扩展的,因此将...