Как узнать, Gigaspace подключен в приложении Java при запуске

Я использую приложение Spring, и мое gigaspace подключается при запуске. Я не получаю никаких исключений, если Gigaspace не работает.

@Override
     public void onContextRefreshed(ContextRefreshedEvent event) {
         String gigaSpaceURL = null;
         LOGGER.info("({}) initializing gigaspaces client", getName());
         try {
             initGSProxy();
             Iterator<Map.Entry<ConfiguredSpace, Space>> entries = spaces.entrySet().iterator();
             while (entries.hasNext()) {
                 Map.Entry<ConfiguredSpace, Space> entry = entries.next();
                 LOGGER.info("({}) initialing space- key=" +
entry.getKey() + ", value = " + entry.getValue(),
                         getName());
                 // TODO : Need to verify Boolean Value Input
                 gigaspace.createSpace(entry.getKey().name(),
entry.getValue().getURL(), false);
                 gigaSpaceURL = entry.getValue().getURL();
             }
         } catch (Exception e) {
             return;

         }

   GenericUtil.updateLogLevel("INFO",
"com.renovite.ripps.ap.gs.Spaces");
LOGGER.info("\n************************************\nConnected with Gigaspace successfully:URL:" + gigaSpaceURL
                 + "\n************************************\n");
         GenericUtil.updateLogLevel("ERROR",
"com.renovite.ripps.ap.gs.Spaces");

     }

1 ответ

Возьмите ссылку на Gigaspace с помощью метода getGigaSpace(), который принимает пробел в качестве аргумента. Если он генерирует исключение во время выполнения, это означает, что приложение не может подключиться с указанным URL-адресом Gigaspace.

Или более элегантным способом: в вашем прокси-классе Gigaspace (который на самом деле реализует IGigaspace) переопределите метод getGigaSpace() так, чтобы он возвращал ноль, если подключение невозможно.

/ ** Пространства. */ private transient Map space = new HashMap<> ();

@ Переопределить общедоступный GigaSpace getGigaSpace (String spaceKey) {

    if(spaces.get(spaceKey) != null){
        return spaces.get(spaceKey).getGigaSpace();
    }
  return null;
}

space - это карта всех URL-адресов, которые зарегистрированы в Gigapsace. Если никто не зарегистрирован, мы возвращаем null в вышеуказанном методе.

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