Apache Camel 2.20已于今天发布,并且像往常一样,我受命撰写有关此新发行版及其亮点的博客。
该版本具有以下重点。
1)Java 9技术预览支持
我们已经开始支持Java 9的工作,此版本称为技术预览。 源代码在Java 9上构建和运行,我们将在以下发行版中继续改进对官方支持的工作。
2)缩短了启动时间
我们发现了一些可以优化Apache Camel启动时间的地方,因此它的启动速度快了100 – 200毫秒。
3)优化核心以减少占地面积
Camel路由引擎中的许多内部优化,例如在更新JMX统计信息时减少线程争用,减少内部状态对象以声明较少的内存,减少分配对象的数量以减少GC的开销等,等等。
4)改进了Spring Boot支持并为Spring Boot 2做准备
我们以各种方式改进了在Spring Boot上运行的Camel。
我们还努力使Apache Camel更加就绪,并与即将到来的Spring Boot 2和Spring Framework 5兼容。预计将在Camel 2.21版本中正式支持它们。
5)改善Spring生命周期
对与Spring框架(SpringCamelContext)一起使用时启动和停止CamelContext进行了修订,以确保在所有资源仍然可用时,Camel上下文在所有资源可用时先启动,然后先停止。
6)JMS 2.0支持
camel-jms组件现在支持JMS 2.0 API。
7)更快的Map标头实现
如果在类路径中包括camel-headersmap组件,则Camel将在启动时自动检测到它,并使用更快的大小写敏感映射(由camel消息头使用)实现。
8)健康检查API
我们为新的运行状况检查API添加了实验性支持(我们将在接下来的几个发行版中继续进行该工作)。 可以在云环境中利用运行状况检查来检测不正常的上下文。
9)集群API
推出了针对高可用性上下文的实验性Cluster SPI(我们将在接下来的几个版本中继续进行开发),Camel开箱即用地支持:atomix,consul,file,kubernetes和zookeeper作为通过各个组件的基础集群技术。
10)RouteController API
引入了实验性的路径控制器SPI(我们将在接下来的几个发行版中继续进行研究),旨在提供更细粒度的路径控制,Camel开箱即用地提供以下实现:
- SupervisingRouteController,它在正确启动骆驼上下文之后延迟路由的启动,并尝试重新启动尚未成功启动的路由。
- 仅当上下文被选为领导者时,ClusteredRouteController才利用Cluster SPI启动路由。
11)更多组件
像往常一样,有很多新组件,例如,我们支持在camel-aws组件中调用AWS lambda函数。 还有一个新的json验证程序组件,并且骆驼主与新的Cluster API一起使用以在集群中进行路由领导者选举。 有13个新组件和3个新数据格式。 您可以在
Camel 2.20发行说明 。
现在,我们将着手于计划于2018年初发布的下一个版本2.21。我们正努力推动更快地发布这些较大的Camel版本,因此我们可以每年进行2至3个发布。 这使人们可以更快地获取新功能和组件等。
此外,我们还希望发布一个正式支持Java 9,Spring Boot 2的发行版,以及我们在每个发行版中添加的所有常用功能以及社区的贡献。
翻译自: https://www.javacodegeeks.com/2017/10/apache-camel-2-20-released-whats-new.html