【问题标题】:Using custom JGroups module in JBoss EAP在 JBoss EAP 中使用自定义 JGroups 模块
【发布时间】:2020-01-20 05:30:16
【问题描述】:

我有 JBoss EAP 6.4 和 JGroups 3.2.13。要使用服务发现将应用程序迁移到 Amazon ECS,我需要 DNS_PING 协议 (article about migration)。问题是 DNS_PING 仅在 JGroups 4.0.12 (github link) 中添加,因此我无法轻松包含它。

我最初的想法是为 JBoss 实现自己的模块并在其中包含缺失的类。但似乎对 JGroups 的其他部分存在依赖项,这些依赖项不同于 4 到 3.2 版本(utils 类、日志记录等)。

另一个解决方案可能是用更新版本的整个模块替换现有的 JGroups 3.2.13。不幸的是,我无法更新到 JBoss EAP 7,但只能从中替换一个模块。问题是 JBoss 中的其他模块取决于 JGroups,我想知道是否有从 4 到 3 的 JGroups 的后退功能?

还有其他可能的选择吗?或者您能对核心模块的此类更新提出任何建议吗?

【问题讨论】:

  • 你不能指望它在交换主要版本后会兼容。如果您卡在旧版本上,最好的解决方案可能是自己向后移植 DNS_PING。
  • 不幸的是,协议类在 JGroups 3 和 4 版本中应该实现的接口存在差异。因此,在花了一些时间向后移植 DNS_PING 之后,我决定切换到第三版中实现的 JDBC_PING 方法。

标签: java jboss wildfly jboss6.x jgroups


【解决方案1】:

您也可以尝试将 NATIVE_S3_PING 反向移植到 3.2.13,这可能比 DNS_PING 更简单,因为它托管在不同的存储库中。

[1]https://github.com/jgroups-extras/native-s3-ping/blob/master/src/org/jgroups/aws/s3/NATIVE_S3_PING.java

【讨论】:

  • 感谢您的建议!我使用了 JDBC_PING,但这也是一个不错的选择。
猜你喜欢
  • 2021-02-18
  • 2015-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多