이 작업은 구성 관리자 프록시(CMP) 응용프로그램을 개발하는 더 큰 작업의 일부입니다.
GregorianCalendar oldCCTime = b.getTimeOfLastCompletionCode(); b.setLongDescription(newDesc); GregorianCalendar newCCTime = oldCCTime; while ((newCCTime == null) || (newCCTime.equals(oldCCTime))) { newCCTime = b.getTimeOfLastCompletionCode()); Thread.sleep(1000); } CompletionCodeType ccType = b.getLastCompletionCode(); if (ccType == CompletionCodeType.success) { // etc. }
이 예에서 응용프로그램은 getTimeOfLastCompletionCode() 메소드를
사용하여 브로커 조치가 마지막으로 완료된 시기를 판별합니다. 이 메소드에서는 토폴로지가 완료 코드를 마지막으로 수신한
시간을 리턴하거나 리턴 코드를 수신하지 못한 경우 널값을 표시합니다. 응용프로그램은 브로커의
LongDescription을 갱신하고 CMP로 리턴되는 setLongDescription() 명령 결과를
대기 중인 토폴로지를 계속 모니터합니다. 이 오류가 발생하면 while 루프에서 제어가 중단되고
최종 완료 코드가 판별됩니다.
구성 관리자가 요청을 처리하는 동안 CMP 응용프로그램이 대기하기 때문에 명령 결과를 판별하는 이 알고리즘은 멀티스레드 응용프로그램에 부적합할 뿐만 아니라 비효율적입니다.
이 작업을 수행하는 더 좋은 방법으로 관리 오브젝트 공고를 사용합니다(오브젝트 공고와 함께 구성 관리자 프록시를 사용한 브로커 도메인 관리의 결과 점검 참조).