리턴 코드와 함께 구성 관리자 프록시를 사용한 도메인 관리의 결과 점검

이 작업은 구성 관리자 프록시(CMP) 응용프로그램을 개발하는 더 큰 작업의 일부입니다.

리턴 코드(요청 결과를 표시)를 제공하는 상태 변경 메소드만이 deploy() 메소드입니다. 다음 코드 예에는 리턴된 DeployResult 오브젝트를 사용하여 토폴로지 전개 조작의 결과를 찾는 방법이 표시되어 있습니다.
...

TopologyProxy t = cmp.getTopology();

boolean isDelta = true;
long timeToWaitMs = 10000;
DeployResult dr = topology.deploy(isDelta, timeToWaitMs);

System.out.println("Overall result = "+dr.getCompletionCode());

// Display overall log messages
Enumeration logEntries = dr.getLogEntries();
while (logEntries.hasMoreElements()) {
    LogEntry le = (LogEntry)logEntries.nextElement();
    System.out.println("General message: " + le.getDetail());
}
            
// Display broker specific information
Enumeration e = dr.getDeployedBrokers();
while (e.hasMoreElements()) {
                
    // Discover the broker
    BrokerProxy b = (BrokerProxy)e.nextElement();
    
    // Completion code for broker
    System.out.println("Result for broker "+b+" = " +
        dr.getCompletionCodeForBroker(b));
                
    // Log entries for broker
    Enumeration e2 = dr.getLogEntriesForBroker(b);
    while (e2.hasMoreElements()) {
        LogEntry le = (LogEntry)e2.nextElement();
        System.out.println("Log message for broker " + b +
            le.getDetail()));
    }
}

이 코드에서 deploy() 메소드는 영향받은 모든 브로커가 전개 요청에 응답할 때까지 차단됩니다. 하지만 메소드에는 CMP의 최대 응답 도착 대기 시간을 설명하는 long 매개변수가 포함됩니다.

메소드가 최종 리턴된 경우 DeployResult가 메소드 리턴 시점에 전개 결과를 표시합니다. 즉, 응용프로그램으로 리턴되면 CMP가 오브젝트를 갱신하지 않습니다.

deploy() 메소드 완료 후에는 예에서 리턴된 DeployResult가 조회되며 전개 조작에 대해 전체 완료 코드가 표시됩니다. 여기에서 다음 값 중 하나를 사용합니다.
(com.ibm.broker.config.proxy.)CompletionCodeType.pending
전개가 하나의 배치로 보류되며 ConfigManagerProxy.sendUpdates()를 실행할 때까지 송신되지 않음을 의미합니다. 이 메시지가 적용될 경우 즉시 리턴된다는 점에 유의하십시오. 즉, 시간 종료 시까지 만기되기를 기다릴 필요가 없습니다.
CompletionCodeType.submitted
전개 메시지가 구성 관리자로 송신되었지만 시간 종료 전에 응답이 수신되지 않았음을 의미합니다. 전개 메시지가 구성 관리자로 송신되지 않는 경우 전개 시에 ConfigManagerProxyLoggedException이 대신 전달된다는 점에 유의하십시오.
CompletionCodeType.initiated
전개가 시작되었지만 시간 종료 전에 브로커 응답이 수신되지 않았다고 구성 관리자가 응답했음을 의미합니다.
CompletionCodeType.successSoFar
구성 관리자가 전개 요청을 발행했지만 전부가 아닌 일부 브로커가 시간 종료 만기 전에 "성공" 메시지로 응답했음을 의미합니다. 브로커가 부정적으로 응답하지 않았습니다.
CompletionCodeType.success
구성 관리자가 전개 요청을 발행했고 모든 관련 브로커가 시간 종료 만기 전에 응답했음을 의미합니다. 이 메시지는 모든 관련 브로커가 응답하는 순간 송신됩니다.
CompletionCodeType.failure
구성 관리자가 전개 요청을 발행했고 최소 하나의 브로커가 부정적으로 응답을 했음을 의미합니다.
완료 코드 모두가 모든 전개에 적용되지 않는다는 점에 유의하십시오. 예를 들어, 단일 특정 브로커로의 전개에서 완료 코드는 'successSoFar'가 될 수 없습니다.

다음 예에는 특정 브로커에 속성화가 될 수 없는 전개의 로그 메시지가 표시되어 있습니다. 성공적인 전개 시, 전개가 계속해서 완료되더라도 이 메시지에는 항상 구성 관리자에서 발생하는 "전개 시작" 로그 항목이 포함됩니다.

최종적으로 예에는 완료 코드와 전개로부터 영향을 받은 각 브로커에 특정한 로그 메시지가 표시되어 있습니다. 토폴로지 또는 토픽 트리 전개에서 로그 메시지가 도메인의 모든 브로커가 된다는 점에 유의하십시오.

특정 브로커의 응답에 해당되는 완료 코드 세트는 다음과 같습니다.
CompletionCodeType.pending
전개가 하나의 배치로 보류되며 ConfigManagerProxy.sendUpdates()를 실행할 때까지 송신되지 않음을 의미합니다.
CompletionCodeType.submitted
전개 메시지가 송신되었지만 구성 관리자에서 전개 시작을 나타내는 응답이 수신되지 않았음을 의미합니다.
CompletionCodeType.initiated
구성 관리자에서 전개가 시작되었다고 응답했지만 브로커에서 아직 응답이 리턴되지 않았음을 의미합니다.
CompletionCodeType.success
구성 관리자가 전개 요청을 발행했고 브로커가 전개 변경 내용을 적용했음을 의미합니다.
CompletionCodeType.failure
구성 관리자가 전개 요청을 발행했고 브로커가 전개에 실패했다고 응답했음을 의미합니다. 전개 실패 이유에 대한 자세한 정보로 getLogEntriesForBroker()를 사용하십시오.
CompletionCodeType.notRequired
전개 요청이 제공된 브로커와 관련된 구성 관리자로 전송되었지만 구성이 이미 최신 상태가 되어 요청이 브로커로 송신되지 않았음을 의미합니다.
DeployResult 오브젝트 구문 분석 방법에 대한 예는 BAR 전개 샘플 실행 또는 브로커 도메인 관리 샘플 실행 CMPAPIExerciser.reportDeployResult() 메소드를 참조하십시오.
관련 태스크
구성 관리자 프록시를 사용한 도메인 관리의 결과 점검
최종 완료 코드와 함께 구성 관리자 프록시를 사용한 브로커 도메인 관리의 결과 점검
오브젝트 공고와 함께 구성 관리자 프록시를 사용한 브로커 도메인 관리의 결과 점검
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ae33070_