Apache Camel 可以与旧组件版本集成吗?

Can Apache Camel integrate with an old component version?

我想知道是否可以将旧版本的 Camel 组件与更新的 Apache Camel 版本的应用程序集成。就我而言,我想集成到 Hbase 服务器版本 1.2,该版本仅受 HBase 客户端 1.2 支持。因此,即使我想使用 3.1 Camel 版本,我也想使用 3.0.1 版本的 Camel-HBase 组件。这是一件好事吗?

或者有什么地方可以看到 Apache Camel 支持的库的版本?

您可以检查 Camel 依赖项 POM 以查找不同组件导入的依赖项的版本。

dependencies POM of Camel 3.10.x。你会在其中找到<hbase-version>2.3.1</hbase-version>

另一个来源是 Maven Central,您可以在其中查看特定 Camel 组件版本的依赖版本。

参见引用 Hbase-client 1.2.6 的 Camel-HBase 3.1.0

但是,通常不能选择Camel版本来匹配特定的组件依赖版本。一般来说,它 反过来 。您想要或必须使用现有版本,或者您想要使用当前版本来充分利用框架。

如果您使用 Camel 3.10.x 构建新应用程序,您将获得 2.3.1 版本的 hbase-client。

如果较新的 Hbase 客户端版本与 Hbase 1.2 不兼容,则变得困难。

  • 混合搭配 Camel 组件版本时会遇到很多问题
  • 即使您可以使用较旧的 Camel 版本构建您的应用程序,您也永远无法升级

我看到的唯一解决方案是将 Hbase 集成隔离在其自己的(冻结的)应用程序中,并使用与您所需的 Hbase 客户端版本相匹配的旧 Camel 版本。