1

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

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

4

1 回答 1

2

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

请参阅Camel 3.10.x 的依赖项 POM。你会<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 版本。

于 2021-08-20T15:06:53.473 回答