Невозможно очистить Infinispan DefaultCacheManager в состоянии FAILED

Я получаю это исключение при попытке перезапустить CacheManager, который не удалось запустить.

Вызывается: org.infinispan.jmx.JmxDomainConflictException: ISPN000034: Уже существует экземпляр экземпляра JMX MBean тип =CacheManager,name="DefaultCacheManager", уже зарегистрированный в домене JMX org.infinispan. Если вы хотите разрешить нескольким экземплярам, ​​настроенным с одним и тем же доменом JMX, включите атрибут allowDuplicateDomains в элементе конфигурации globalJmxStatistics в org.infinispan.jmx.JmxUtil.buildJmxDomain(JmxUtil.java:53).

Я думаю, что это ошибка, но я прав?

Используемая версия - 9.0.0.Final.

РЕДАКТИРОВАТЬ

Ошибка может быть замечена, используя этот фрагмент кода.

import org.infinispan.configuration.cache.*;
import org.infinispan.configuration.global.*;
import org.infinispan.manager.*;

class Main {

    public static void main(String[] args) {
        System.out.println("Starting");
        GlobalConfigurationBuilder global = GlobalConfigurationBuilder.defaultClusteredBuilder();
        global.transport()
            .clusterName("discover-service-poc")
            .initialClusterSize(3);

        ConfigurationBuilder builder = new ConfigurationBuilder();
        builder.clustering().cacheMode(CacheMode.REPL_SYNC);
        DefaultCacheManager cacheManager = new DefaultCacheManager(global.build(), builder.build(), false);

        try {
            System.out.println("Starting cacheManger first time.");
            cacheManager.start();
        } catch (Exception e) {
            e.printStackTrace();
            cacheManager.stop();
        }


        try {
            System.out.println("Starting cacheManger second time.");
            System.out.println("startAllowed: " + cacheManager.getStatus().startAllowed());
            cacheManager.start();
            System.out.println("Nothing happening because in failed state");
            System.out.println("startAllowed: " + cacheManager.getStatus().startAllowed());
        } catch (Exception e) {
            e.printStackTrace();
            cacheManager.stop();
        }

        cacheManager = new DefaultCacheManager(global.build(), builder.build(), false);
        cacheManager.start();
    }

}

0 ответов

Другие вопросы по тегам