Я использую Ignite 2.6.0 внутри Tomcat 8.5.32.
Как видно из журнала catalina.out здесь для запуска требуется три с половиной минуты.
Для целей разработки, есть ли способ сократить это время?
Не требуется, чтобы Ignite имел какую-либо специальную конфигурацию.Просто самый простой, подходящий для разработки на одной машине.
Вот как я инициализирую Ignite:
private IgniteConfiguration getConfiguration(final String cacheName, final CacheConfiguration cacheCfg) {
TcpDiscoveryVmIpFinder wmIpFind = new TcpDiscoveryVmIpFinder(true);
try {
wmIpFind.setAddresses(Arrays.asList(InetAddress.getLocalHost().getHostAddress()));
} catch (IgniteSpiException | UnknownHostException e) {
wmIpFind.setAddresses(Arrays.asList("127.0.0.1"));
}
TcpDiscoverySpi discoverySpi = new TcpDiscoverySpi();
discoverySpi.setNetworkTimeout(3000);
discoverySpi.setReconnectCount(1);
discoverySpi.setReconnectDelay(60000);
discoverySpi.setClientReconnectDisabled(true);
discoverySpi.setIpFinder(wmIpFind);
IgniteConfiguration igniteConfig = new IgniteConfiguration();
igniteConfig.setIgniteInstanceName("IgniteLocalhostServer");
igniteConfig.setCacheConfiguration(cacheCfg);
igniteConfig.setClientMode(false);
igniteConfig.setPeerClassLoadingEnabled(false);
igniteConfig.setMetricsLogFrequency(0);
igniteConfig.setDiscoverySpi(discoverySpi);
igniteConfig.setMetricsLogFrequency(0);
return igniteConfig;
}
}
, а затем
CacheConfiguration<K,V> cacheCfg = new CacheConfiguration<K,V>().setCacheMode(CacheMode.LOCAL).setName(name);
Ignite ignite = Ignition.start(getConfiguration(name, cacheCfg));
Cache<K,V> namedCache = ignite.getOrCreateCache(cacheCfg);