Apache Camel 组件的版本兼容性

Apache Camel components' version compatibility

我发现选择与服务器版本不同的客户端版本是非常罕见的(例如 HBase client - server’s version compatibility)。

另一方面,我得到了一个关于 Camel 兼容性的答案,该答案提到了 Camel-HBase jar,我可以通过降级找到客户端 jar 的合适版本(例如 https://mvnrepository.com/artifact/org.apache.camel/camel-hbase/3.1.0 for an old HBase version). But this answer also said that it is a bad thing to do ( ).我想知道如果我没有这样的选项来升级 HBase 服务器(因为它不是我的),解决方案是什么。为什么选择较低版本的 Camel 组件(如 Camel-HBase)不好?

否则不行,因为它要求每一项集成技术都是最升级的。

抱歉,您提到的我的回答显然不够清楚。

绝对可以使用旧的 Camel 版本,其依赖项符合您特定的 Hbase 客户端版本需求。

但是这个决定有一些缺点:

  • 无法升级您的 Camel 应用程序(版本锁定)
  • 您不能在具有更新版本的同一应用程序中使用另一个 Camel 组件,因为混合 Camel 组件版本(例如,camel -core 3.9.0 和 camel-hbase 3.1.0) 导致很多问题

这些要点的结果是您可能必须在使用旧的“冻结”Camel 版本的 Camel 应用程序中“隔离”您的 Hbase 集成。

“隔离”因为一旦你想做一些需要更新 Camel 版本的事情,你就必须构建一个新的应用程序,通过 API.[=11 与你的 hbase 集成通信。 =]

我希望这个答案对你更有意义。

关于你的最终陈述

It's impossible to work otherwise since it will demand every integrated technology to be the most upgraded.

有很多技术可以提供更广泛的兼容性。 Kafka 或 ActiveMQ 等消息传递客户端与旧服务器版本有线兼容。