Apache Camel 3.11的新内容介绍

364 阅读3分钟

Apache Camel 3.11的新内容

Apache Camel 3.11刚刚发布。

这是一个LTS版本,将被支持1年,并定期发布补丁和安全版本。

这篇博文首先详细介绍了自上个月的3.10版本以来值得注意的变化。

对于从上次3.7 LTS版本升级的读者,我们增加了一个摘要部分,强调了所有重要的新功能和变化(3.7到3.11)。

首先,自3.10版本以来我们做了什么。

那么在这个版本中,自3.10以来有什么呢?

这个版本引入了一系列的新功能和明显的改进,我们将在这篇博文中介绍。

Kamelets

Kamelets是一个更高层次的构建模块,我们在未来的版本中不断创新和改进。

对于Camel 3.11,我们致力于使Kamelets在各种运行机制中通用,如独立的、Karaf、Spring Boot和Quarkus。

我们增加了一个新的camel-kamelet-main组件,旨在让开发者尝试或开发自定义的Kamelets。这个模块是独立运行的,这是有意为之,因为我们想确保Kamelets不受特定运行时(或Kubernetes上的云)的束缚,而是在任何可以使用Camel的环境中真正通用。

你可以在github.com/apache/came…找到一个使用camel-kamelet-main的例子。

YAML DS在解析时改进了错误报告,以便更好地向Camel终端用户报告问题所在。

常见的源时间戳

我们在 "Message "上增加了一个 "getSourceTimestamp "的API,以获得消息来源的时间戳。

我们的想法是让所有的Camel组件都有一个共同的API,以获得事件的时间戳(如JMS、Kafka、AWS、File/FTP等)。

云组件

Camel的AWS、Azure和HuaweiCloud组件有各种错误修复和小的改进。

Quarkus

这个版本是Quarkus 2支持的基线,这个版本之后不久将发布新的Camel Quarkus版本。

春天之靴

我们已经升级到了最新的Spring Boot 2.5.1版本。

主项目中没有OSGi代码

我们有大约六个剩余的Camel组件有一些特殊的OSGi Java源代码。

这些OSGi代码已被移植到Camel Karaf项目中。

更好地支持Java 16

虽然官方不支持Java 16,但我们确实改进了一些Camel组件,使其能与Java 16一起工作。

官方支持的是Java 11(主)和Java 8(次)。

新组件

这个版本有一些新的组件、数据格式和语言:

  • camel-huaweicloud-functiongraph - 在华为云上调用无服务器函数
  • camel-huaweicloud-iam - 安全地管理华为云上的用户
  • camel-kamelet-main - 独立运行Kamelet的主程序。
  • camel-resourceeresolver-github - 从GitHub加载文件的资源解析器。

升级

如果你要从以前的Camel版本升级,请务必阅读升级指南

版本说明

你可以在发行说明中找到更多关于该版本的信息,以及该版本中解决的JIRA票据列表。

自上次3.7 LTS版本以来的变化总结

距离上一个3.7 LTS版本已经过去6个月了,这里是对我们所做的最重要变化的高度总结:

  • 优化的核心(更快的启动和更快的路由引擎
  • 模块化的核心(更小的核心
  • 减少了对象分配(降低了内存占用率
  • 无反射(本地编译友好)。
  • 优化了基于消息传递的组件的toD EIP
  • 更好的启动和关机日志
  • Java飞行记录器
  • 路由加载器(Java、XML、YAML、Groovy、JavaScript和Kotlin)
  • YAML DS
  • Kamelets
  • 17个新组件
  • 支持Spring Boot 2.5和Quarkus 2.0