apache camel

随着对灵活的API和微服务的需求的增长,REST服务正在成为一种越来越流行的体系结构样式,用于将现代系统与云以及彼此连接。 借助Apache Camel,您可以使用REST域特定的语言(DSL)更轻松,更快地编写REST服务。

在Grace Hopper庆祝计算妇女大会(2018年9月26日至28日,休斯顿)上的海报发布会上,我们将引导观众逐步使用REST DSL开发他们的第一条骆驼路线。

Apache Camel是领先的开源集成框架。 设计模式是开发中常用的解决方案,已被证明可有效解决给定问题。 Camel是企业集成模式 (EIP)的基于Java的实现,它针对常见的系统连接和数据交换问题建立了设计模式和集成解决方案。

我们已经看到REST服务用于数据访问API,将信息从设备发送到云,监视甚至迁移信用卡公司的帐户。 Camel REST DSL允许使用Restlet,Servlet,Jetty以及其他各种HTTP感知组件来创建REST服务来实现。 使用REST DSL可以比以往更快,更轻松地创建REST服务。

入门

开始使用Camel Rest DSL的最快方法(我们认为)是使用Spring Boot 。 Spring Boot为Apache Camel提供自动配置,以快速创建独立的应用程序。

为了在Spring Boot应用程序中启用Apache Camel,我们需要camel-spring-boot-starter依赖项。 在Maven中,这将是:

<dependency>
<groupId>org.apache.camel</groupId>  
<artifactId>camel-spring-boot-starter</artifactId>
</dependency>

接下来,与所有Spring Boot应用程序一样,您将需要设置一个类来启动应用程序。

@SpringBootApplication
@Configuration
@ComponentScan( "com.simple.camel.project" )
public class MySimpleCamelApplication {
/**
* A main method to start this application.
**/
public static void main(String[] args) {
SpringApplication.run(MySimpleCamelApplication.class, args);
}
/**
* from camel 2.21.0 on this ServletRegistrationBean is not required
* and the path defaults to /camel
**/
@Bean
public ServletRegistrationBean camelServletRegistrationBean() {
ServletRegistrationBean registration = new ServletRegistrationBean(new CamelHttpTransportServlet(), "/camel/*" );
registration.setName( "CamelServlet" );
return registration;
}
}

Camel的主要功能是路由引擎。 骆驼有两种主要的定义路由规则的方式:Java DSL和XML。 我们将专注于基于Java的DSL。 您可以通过扩展Camel RouteBuilder类并实现configure方法来编写Camel REST DSL路由,如下所示:

@Component
public class MySimpleCamelRouter extends RouteBuilder {
@Override
public void configure() throws Exception {
restConfiguration()
.component( "servlet" )
.bindingMode(RestBindingMode.json);

rest().get( "/hello" )
.to( "direct:hello" );

from( "direct:hello" )
.log(LoggingLevel.INFO, "Hello World" )
.transform().simple( "Hello World" );
}
}


现在,您可以使用mvn spring-boot:run运行示例,并在http:// localhost:8080 / camel / hello中访问新的REST API。 在测试GET服务时,通过Web浏览器测试REST服务很容易,因为可以通过地址栏中的URL来访问这些服务。 POST,PUT和DELETE困难得多。 您可以安装提供REST客户端(例如Postman)的第三方插件来尝试其他REST动词。

在此处查看有关使用Camel创建Rest API,将其部署到OpenShift以及使用3Scale进行管理的更深入的实验和示例。

学到更多

Grace Hopper庆祝妇女参与计算将成为9月27日上午11:30至下午2点的海报会议3的一部分。这将是技术性的,而我们希望该会议适用于初学者,一些Java的先前知识和/或集成是有帮助的。

Grace Hopper是一个绝佳的机会,可以与技术领域的女性进行交流,向他人学习,并在整个技术社区中体验女性。 这是玛丽第二年的演讲,也是格雷斯·霍珀(Grace Hopper)和克里斯塔尔(Krystal)的第一年演讲。 在海报研讨会上来参观我们!

翻译自: https://opensource.com/article/18/9/camel-rest-dsl

apache camel

apache camel_使用Apache Camel开始使用REST服务相关推荐

  1. apache camel_发掘Apache Camel的力量

    apache camel 最近几年,ESB软件越来越受欢迎. 如果大多数人通常知道什么是ESB,那么他们很少会清楚地了解这种体系结构的不同组件的确切作用. 例如,Apache ServiceMix由三 ...

  2. apache camel_使用Apache Camel进行负载平衡

    apache camel 在此示例中,我们将向您展示如何使用Apache Camel作为系统的负载平衡器. 在计算机世界中,负载平衡器是一种充当反向代理并在许多服务器之间分配网络或应用程序流量的设备. ...

  3. apache camel_学习Apache Camel –实时索引推文

    apache camel 在大多数软件开发项目中,有一点需要使应用程序开始与其他应用程序或第三方组件通信. 无论是发送电子邮件通知,调用外部api,写入文件还是将数据从一个地方迁移到另一个地方,您都可 ...

  4. apache.camel_使用Apache Camel 2.14的轻松REST端点

    apache.camel Apache Camel 最近发布了一个新版本 , 其中一些新功能由我的同事Claus Ibsen博客发布 . 您确实应该检查他的博客条目并深入研究更多细节,但是我一直希望尝 ...

  5. apache camel_探索Apache Camel Core –文件组件

    apache camel 文件轮询器是解决常见IT问题的非常有用的机制. Camel的内置file组件非常灵活,并且有许多选项可用于配置. 让我们在这里介绍一些常用用法. 轮询目录以输入文件 这是一条 ...

  6. apache camel_使用Apache Camel发布/订阅模式

    apache camel 发布/订阅是一种简单的消息传递模式,其中,发布者将消息发送到某个频道,而无需知道谁将接收消息. 然后,通道负责将消息的副本传递给每个订户. 此消息传递模型可以创建松耦合和可伸 ...

  7. apache camel_轻量级的开源集成:Apache Camel还是Spring集成?

    apache camel 首先,为全面披露信息,在过去的1.5年中, 我一直担任 FuseSource(现为Red Hat) 的顾问,为零售,运输,银行/金融等不同行业的大型和小型公司提供SOA和集成 ...

  8. apache ignite_使用Apache Storm和Apache Ignite进行复杂事件处理(CEP)

    apache ignite 在本文中, "使用Apache Ignite进行高性能内存计算"一书的作者将讨论使用Apache Strom和Apache Ignite进行复杂的事件处 ...

  9. 使用Apache Storm和Apache Ignite进行复杂的事件处理(CEP)

    在本文中, "使用Apache Ignite进行高性能内存计算"一书的作者将讨论使用Apache Strom和Apache Ignite进行复杂的事件处理. 本文的一部分摘自 书 ...

  10. 微服务ServiceComb Meetup,携手Apache和华为大咖,分享微服务创新实践(上海,9月20日)...

    ServiceComb两周年,开源爱好者和微服务开发者们的福利来袭 Apache软件基金会董事会主席 Craig Russell Justin Mclean 姜宁 -- 全球最大的开源软件基金会Apa ...

最新文章

  1. 算法工程师眼中的AI岗位
  2. mysql支持cube_mysql聚合函数rollup和cube
  3. “云”起风涌,邮件服务器助航企业云端升级
  4. 9款极具创意的HTML5/CSS3进度条动画
  5. PHP类分享:session保存到数据库
  6. opencv数据的读取
  7. 打包 pyqt5_基于Pyqt5的简单电影搜索工具,Python让你3秒搜电影
  8. SQL增删改查基本语法整理
  9. xposed框架_免ROOT 用“太极”替代Xposed框架
  10. 找出大于200的最小的质数
  11. 北京政协委员共商提高城市精治、共治、法治水平
  12. Xposed框架Xposed安装器|Xposed for Android 5.0/5.1/6.0|详细安装教程
  13. 01_测试基础知识---微信公众号测试点
  14. 【支付宝沙箱支付】麻瓜教程——申请----代码----修改测试----问题解决
  15. java之旅(1)序言
  16. 【简单实用】一台主机两个人使用,互不影响~~~
  17. 模拟登陆手机版新浪微博
  18. 《全球NFT数字版权与资产峰会》圆满闭幕——开启NFT应用新未来
  19. 5G+MEC助力,南瑞信通九州云联合打造智能电网5G实验室
  20. 电脑某个服务器的网站都打不开,电脑某个网站打不开的解决方法

热门文章

  1. 【解决方案】施工现场如何实现全方位视频监控?EasyGBS视频智能告警分析平台搭建智慧工地
  2. 久其报表节点汇总_久其通用数据管理平台常见公式
  3. 解决Windows10系统更新后自带的记事本不见了
  4. C语言每日一练——第88天:汉诺塔问题(河内塔)
  5. imei模拟修改_自动修改android模拟设备号imei的小程序
  6. linux445端口是什么,端口445怎么关 445端口是什么服务 445病毒是什么
  7. 雷赛服务器信号er020,雷赛机电 DMC2410高性能4轴运动控制卡 运动控制 产品 参数...
  8. Shiro框架的搭建与使用
  9. 基于java的网上鲜花销售系统
  10. 怎么让字体拥有金属风格?15种不同的金属风格文字效果ps样式不可错过!