java - 加快 Java 中的 Ignite 启动速度

标签 java ignite

我在 Tomcat 8.5.32 中使用 Ignite 2.6.0。

如catalina.out日志中所示here启动需要三分半钟。

出于开发目的,有什么方法可以减少这个时间吗?

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

最佳答案

首先,Catalina 在一些良性的日志行之间损失了 1:30,然后 Ignite 不知何故又花费了两分钟。

我想象这里正在发生一些外部事情。 I/O 极慢?需要永远解析的主机名?远程很难说。

关于java - 加快 Java 中的 Ignite 启动速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52869270/

相关文章:

java - 使用 JavaFX 播放 QuickTime 视频

java - 显示自 Android 中某个日期以来过去的天数、小时数(天文台计时表)

java - 如何在 QueryDSL 中为时间差创建 OrderSpecifier?

java - Apache Ignite 找不到 SQL 表

java - 将 CSV 导入 Apache Ignite

java - 将 JPanel 添加到 Javafx

java - 使用 JVisualVM 从 Java 中的远程应用程序获取堆转储

java - 使用spring data jpa点燃使用语法IN

java - 使用 JDBC 和持久数据存储添加 Apache Ignite 同步数据

java - Ignite 启动时间过长,并且在应用程序运行时经常失败