Milan Desai
Milan Desai

Reputation: 1306

How to change default local discovery port for Apache Ignite?

How to change the default local discovery port for Apache Ignite? I am looking to change the default from 47500 to something else but not from the code side. Instead of JVM argument. We use Ignite as a cache server in our application.

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);
  }

Upvotes: 0

Views: 397

Answers (2)

Milan Desai
Milan Desai

Reputation: 1306

as per comment from @alamar I was able to parameterise port with System property defaulting it to 47500 if not provided

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

and assiging that to IgniteConfig when instantiating engine

cfg.setLocalPort(localPort);

Upvotes: 0

Shivakrishna Gotur
Shivakrishna Gotur

Reputation: 11

Try using setLocalPort(int locPort).

Upvotes: 1

Related Questions