如何更改 Apache Ignite 的默认本地发现端口?

How to change default local discovery port for Apache Ignite?

如何更改 Apache Ignite 的默认本地发现端口? 我希望将默认值从 47500 更改为其他值,但不是从代码端。而不是 JVM 参数。 我们在应用程序中使用 Ignite 作为缓存服务器。

IgniteConfig

@Bean
  public Ignite igniteInstance(JdbcIpFinderDialect ipFinderDialect, DataSource dataSource) {
    IgniteConfiguration cfg = new IgniteConfiguration();
    cfg.setGridLogger(new Slf4jLogger());
    cfg.setMetricsLogFrequency(0);
    TcpDiscoverySpi discoSpi = new TcpDiscoverySpi()
        .setIpFinder(new TcpDiscoveryJdbcIpFinder(ipFinderDialect).setDataSource(dataSource)
            .setInitSchema(initialiseIgniteSchema));
    cfg.setDiscoverySpi(discoSpi);
    cfg.setCacheConfiguration(cacheConfigurations.toArray(new CacheConfiguration[0]));
    return Ignition.start(cfg);
  }

尝试使用 setLocalPort(int locPort)

根据@alamar 的评论,我能够使用系统 属性 参数化端口,如果未提供则默认为 47500

@Value("${localPort:47500}")
private long localPort;

并在实例化引擎时将其分配给 IgniteConfig

cfg.setLocalPort(localPort);