2017-01-12 1 views
0

나는 Spring 응용 프로그램을 사용하고 있으며 내 gigaspace는 시작할 때 연결 중입니다. gigaspace가 다운 된 경우 예외가 없습니다. 런타임에가 논쟁으로 spacekey 그것을 던져 예외를 취 getGigaSpace() 메소드를 사용하여 Gigaspace의Gigaspace를 알아 보는 방법 시작시 Java 응용 프로그램에 연결됨

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

    } 

답변

0

테이크 참조는, 그 애플리케이션이 지정한 Gigaspace URL을 연결할 수없는 것을 의미한다.

또는 더 우아한 방법으로, Gigaspace 프록시 클래스 (사실상 IGigaspace 구현)에서 getGigaSpace() 메소드를 대체하여 연결이 불가능한 경우 null을 리턴합니다.

/** 공백. */ 전용 과도지도 공간 = 새 HashMap <>();

@Override 공공 GigaSpace getGigaSpace (문자열 spaceKey) {

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

공간 아무도, 우리는 위의 방법으로 null을 반환하지 않습니다 등록 Gigapsace.If에 등록 된 모든 URL의지도입니다.

+0

감사합니다. 나를 위해 일했습니다 ... – Rupali

관련 문제