本周发布了Apache Camel 2.18.0 。 此版本是重要版本,我将在此博客文章中重点介绍。

Java 8

Camel 2.18是要求Java 1.8的第一个发行版(例如,容易记住的Camel 2.18 = Java1.8。Camel2.17 = Java 1.7)。 我们采取了谨慎的方法,并保持了Camel API的向后兼容性,因为最终用户可以将现有的Camel应用程序源代码并用Java 1.8和Camel 2.18重新编译,因此您应该一切都很好。

在Camel源代码内部,我们已经开始使用Java 8 API来实现新功能。 现有功能仍在使用Java 7 API,因此我们可以轻松地将错误修复移植回旧版本。

我们还将Java 8 lambda / functional API引入了Java RouteBuilder,您可以在谓词和消息转换中使用它们。 您可以在github上查看一个小例子。

Spring启动器

自Camel 2.15以来,我们就一直支持Spring Boot,但是在此发行版中,我们精选了所有Camel组件以使其对齐并使其成为一流的Spring Boot启动器组件 。 这意味着您应该使用-starter作为依赖项,例如camel-kafka-starter。

Spring Boot自动配置

现在所有的Camel组件都会生成Spring Boot自动配置源代码,这意味着您可以使用Spring Boot配置来配置组件,数据格式,语言等。 例如,在application.properties文件中。 在编辑application.properties文件时,除了具有Spring Boot支持的IDEA,Eclipse等工具之外,还将具有代码完成功能。

帮助实施的Nicola Ferraro发布了博客条目,其中包含更多详细信息。

Spring Boot运行状况检查

如果您使用的是执行器,则Apache Camel附带与Spring Boot集成的运行状况检查。 健康检查会进行粗粒度检查,以确保骆驼确实正确启动。 我们计划在Camel中实现更深的Health Check API,以允许各个组件参与检查。 例如,检查组件是否可以连接到远程系统等等。

野生飞群骆驼

WildFly Swarm项目还为Apache Camel提供了强大的支持。 然而,这种发展发生在野蝇骆驼项目上。 WildFly-Camel发布了支持骆驼2.18.0的版本4.3.0。

自动文档

我以前在博客中写道,我们正在努力从源代码中保存和生成Camel文档。 这意味着每个Camel组件,eip,语言,数据格式等都在源代码中记录了它们的选项,然后我们在构建过程中将其提取并保持随附的文档为最新。 我们已经将几乎所有文档从旧Wiki系统迁移到了源代码中的.adoc文件。 我们将继续进行此工作以完成下一个版本的发布,并将致力于建立一个新网站。

作为骆驼开发人员,您可能会认为这没什么大不了的,但实际上确实如此。 这样可以确保文档中所有选项始终都是100%最新。 它还允许工具在设计和运行时访问此信息。 hawtio可以在运行时显示有关所有端点的深层信息,并包括每个选项的文档,如下所示:

我们还有一个Maven插件 ,可以扫描您的所有源代码并报告无效的配置骆驼端点。 该插件目前托管在fabric8上 ,在这里我们可以更快地促进创新。 但是,当插件成熟时,我们计划将源代码捐赠给Apache Camel项目,以使其开箱即用。

XML XSD完整记录

用于Spring和Blueprint的XML XSD现在还包括有关您可以在外部路由上进行的配置的文档,例如on和其他全局配置。

FluentProducerTemplate

FluentProducerTemplate是其中一个较小但非常可爱的新功能,它使用流利的样式API作为客户端API来向Camel端点发送消息。 现在,您可以用

template().withBody("Hello World).withHeader("foo", 123").withHeader("bar", 456).to("jms:queue:beer").send();

休息生产者

Rest组件允许现在(作为客户端)调用REST服务,您可以在其中为HTTP传输选择以下骆驼组件之一:http,http4,netty4-http,jetty,restlet,undertow。 您还可以引用现有的swagger api文档,并在类路径中包含camel-swagger-java,以便将其余端点的自动验证配置为使用有效的rest操作/参数。

使用Hystrix进行断路

我们增加了对使用Netflixx Hystrix作为您的骆驼路线中的电路中断的原生支持。 有一个例子 。

下面是Spring Boot调用在WildFly Swarm上运行的服务的另一个示例 ,该服务在Kubernetes集群(或本地)上运行,我最近一直在谈论它。

public void configure() throws Exception {from("timer:foo?period=2000").hystrix().to("netty4-http:http://{{service:helloswarm}}/say").onFallback().setBody().constant("Nobody want to talk to me").end().log("${body}");}

Zipkin邮件跟踪

该版本还包括camel-zipkin,它允许使用zipkin进行分布式消息跟踪。 您可以通过提供的示例找到更多详细信息。

服务电话

服务呼叫EIP允许通过可插入服务注册表中的服务发现来呼叫远程服务。 例如,您可以使用etdc,consul,ribbon,kubernetes等产品。

新组件

与往常一样,每个发行版都包含许多新组件:

  • camel-asterisk –用于与Asterisk PBX服务器进行交互
  • camel-cm-sms –用于使用SM SMS网关发送SMS消息。
  • camel-consul –用于将您的应用程序与Consul集成。
  • camel-ehcache –用于与Ehcache 3缓存进行交互。
  • camel-flink –将Camel连接器与Apache Flink任务桥接。
  • camel-lumberjack –用于通过伐木工人协议接收日志(例如Filebeat使用)
  • camel-ribbon –将Netflixx Ribbon与Service Call EIP一起使用。
  • camel-servicenow –使用ServiceNow进行云管理。
  • camel-telegram –用于通过Telegram进行消息传递。
  • camel-zipkin –使用zipkin跟踪骆驼消息流/定时。
  • camel-chronicle –用于与OpenHFT的Chronicle-Engine进行交互。

新数据格式

我们还有一个新的数据格式:

  • camel-johnzon – Apache Johnzon是JSR-353(用于JSON处理的JavaTM API)的实现。

升级时的重要信息

Spring的旧版本(例如3.x和4.0.x)已删除。 ServiceMix / Karaf上的OSGi用户也应该使用Karaf4.x。 但是,它可以在某些较旧的Karaf版本上运行,但未得到官方支持。 下一版本肯定会删除对较早版本的支持。

使用Spring-DM的OSGi用户应安装camel-spring-dm模块,因为已经从camel-spring中删除了Spring DM。 现在需要Spring Boot1.4.x。

您可以在Camel发行说明中找到更多详细信息。

下一步是什么

我们将在Camel 2.19发行版上进行工作,在此方面我们可以进一步改进Camel 2.18发行版为我们带来Java 8的新途径。我们也希望完成文档的迁移并在新的网站上工作。 希望我们也能得到一个不错的徽标。

接下来是Camel 2.19,我们将开始使用Camel3.x。 但这将首先在骆驼社区中讨论。 但是,在今年余下的时间里,我们将专注于计划于2017年第一季度开始的Camel 2.19。

翻译自: https://www.javacodegeeks.com/2016/10/apache-camel-2-18-released-whats-included.html

Apache Camel 2.18发布–包含内容相关推荐

  1. apache.camel_Apache Camel 2.18发布–包含内容

    apache.camel 本周发布了Apache Camel 2.18.0 . 此版本是重要版本,我将在此博客文章中重点介绍. Java 8 Camel 2.18是第一个需要Java 1.8的版本(例 ...

  2. Apache Camel 2.18 –即将推出的功能的亮点

    骆驼骑士正在忙于即将发布的Apache Camel 2.18版本. 当我们动态更新发行说明时 ,这是一种快速查看即将发生的情况的方法. 我只是想在夏天在这里进行快速更新,到目前为止,我们已经完成了简短 ...

  3. Apache Camel 2.11发布

    上周Apache Camel 2.11发布了. 这篇博客文章总结了最引人注目的新功能和改进. 有关详细说明,请参见Camel 2.11发行说明 . 1)新组件 与往常一样,每个新发行版都包含许多新组件 ...

  4. Apache Camel 2.9发布–十大变化

    在2011年的最后一天,阿帕奇骆驼制品被成功地推到了中央行销仓库,距离香槟酒瓶破裂并进入2012年仅1.5个小时之遥. 2.9版是创纪录的发行版,自5个月前发布2.8版以来,已解决了约500张JIRA ...

  5. apache.camel_带有Spring Boot 2支持的Apache Camel 2.22发布

    apache.camel 今天,我们发布了最新的Apache Camel 2.22.0版本 ,这是第一个正式完全支持Spring Boot 2的版本.这是一项重大的工作,因为针对像Apache Cam ...

  6. 带有Spring Boot 2支持的Apache Camel 2.22发布

    今天,我们发布了最新的Apache Camel 2.22.0版本 ,这是第一个正式完全支持Spring Boot 2的版本.这是一项重大的工作,因为针对像Apache Camel这样的大型框架将Spr ...

  7. Apache Camel 2.19发布–新增功能

    Apache Camel 2.19于2017年5月5日发布,大约在一段时间后,我做了一个小博客,介绍了该版本包含的值得注意的新功能和改进. 这是值得注意的新功能和改进的列表. 1. Spring Bo ...

  8. Apache Camel 2.16发布–十大亮点

    Apache Camel 2.16于上周五发布. 这篇博客文章是我尝试在此新版本中进行前10名(加1作为奖励)的亮点. 1.动态到 来自骆驼用户的最常见的常见问题是如何将消息发送到端点,uri应该使用 ...

  9. Apache Camel 2.21发布–新增功能

    我们刚刚发布了Apache Camel 2.21,我将在此博客中重点介绍值得注意的更改. 此版本不支持Spring Boot2.对Spring Boot 2的支持将在Camel 2.22中提供, 我们 ...

最新文章

  1. SpringBoot开发微信公众号
  2. Unix awk使用手册
  3. Vue第二部分(2):组件的嵌套与通信
  4. RDMA相关的技术网站
  5. AcWing 116. 飞行员兄弟(二维指数型枚举)
  6. 为什么你看了很多书,却依然没有洞见?
  7. [转载] [Python] np.ones_like(ndarray)和np.zeros_like(ndarray)
  8. 5G Next Generation of Communication
  9. 爬取猎聘大数据岗位相关信息--Python
  10. CSS设置颜色的几种方式
  11. 管家婆软件二次开发(在管家婆财贸双全中实现建行支付)
  12. 如何在Mac系统上查看端口占用和释放端口?教程来了
  13. 启明星 ZYNQ 开发板实验平台简介
  14. 查询各科成绩最高分、最低分和平均分
  15. flash 在firebox/IE中 提示安装 浏览器是否有flash插件
  16. 美团2024届暑期实习第一轮后端笔试详解
  17. 一进二出宿舍限电模块的基本功能
  18. 面试题:打印螺旋数字
  19. 国产操作系统--奇思妙想
  20. ..\USER\stm32f10x.h(428): error: #67: expected a “}“ ADC1_2_IRQn = 18, /*!<

热门文章

  1. 使用org.apache.commons.io.FileUtils,IOUtils工具类操作文件
  2. 干货 | Tomcat 连接数与线程池详解
  3. JVM内存管理------GC算法精解(复制算法与标记/整理算法)
  4. 深度解析单例与序列化之间的爱恨情仇
  5. SpringMVC @Transactional的陷井大坑引发No Session found for current thread
  6. C#的类修饰符和成员修饰符
  7. java实现人脸识别源码【含测试效果图】——Service层(IUserService)
  8. volatile可以保证原子性吗
  9. linux软件可以在所有发行版运行吗,Linux通用的跨发行版的3大软件包管理器
  10. java中configmanager_Spring4新的javaConfig注解