hazelcast 实例 运行 但无法连接到 mancenter

hazelcast instance is running but unable to connect to mancenter

我创建了两个 gradle 项目。 首先是一个库项目 (hazellib),包装 hazelcast 功能并提供 api 配置,任何项目都可以使用 运行 hazelcast 服务。

使用此库的第二个项目 (projectA)。 projectA 有以下 gradle 脚本来添加 "hazellib" 作为依赖项。

**buildscript {
      dependencies {
          classpath "com.components:hazellib:0.0.1"
          }
      }
  dependencies {
      compile   "com.components:hazellib:0.0.1"
  }**

使用此设置 ProjectA 运行 可以,但是打开 http://localhost:8080/mancenter/ 时找不到实例 运行宁本地。

问题是为了解决这个问题我必须包括 编译 "com.hazelcast:hazelcast:3.8.2" 除了它已经被引用并作为依赖项包含在 hazellib 项目中之外,再次出现在依赖项中。 如果我将此编译包含在依赖项中(*不在构建脚本下),一切正常,本地的 hazelcast 服务 运行ning 可以连接到 mancenter,或者 mancenter 可以在本地检测实例 运行ning。

任何人都可以建议帮助我了解这里缺少的内容吗?不包括 depedencies,在 hazellib 项目 gradle 脚本中编译 "com.hazelcast:hazelcast:3.8.2" 对于使用 lib 到本地 运行 halzelcast 的项目来说就足够了吗?为什么我要在项目 ProjectA 中再次添加相同的依赖项?

这里是 hazelcast 日志。它确实表明实例已经启动,事实上它可以访问并且缓存工作正常但 mancenter 无法检测到它。只要我在 gradle 中添加编译 "com.hazelcast:hazelcast:3.8.2" mancenter 也将能够连接到实例。

成员 [1] {成员 [127.0.0.1]:5701 - aa25f0ac-da88-432b-87fc-f7247b437c1a 这个 } INFO c.h.i.m.ManagementCenterService - [127.0.0.1]:5701 [hazelcast_cache] [3.7.7] Hazelcast 将连接到 Hazelcast 管理中心地址:http://localhost:8080/mancenter 信息 c.h.internal.jmx.ManagementService - [127.0.0.1]:5701 [hazelcast_cache] [3.7.7] Hazelcast JMX 代理启用[hz.hazelcastDefaultInstance.MC.State.Sender] 信息 c.h.i.p.impl.PartitionStateManager - [127.0.0.1]: 5701 [hazelcast_cache] [3.7.7] 正在初始化集群分区 table 排列... 信息 com.hazelcast.core.LifecycleService - [127.0.0.1]:5701 [hazelcast_cache] [3.7.7] [127.0.0.1]:5701 已启动

所以答案基于评论线索,如果使用 Spring 设置 hazelcast.version 引导至 select 与管理中心版本兼容的 Hazelcast IMDG 服务器版本。