이벤트 작성 및 채우기

이벤트 팩토리를 가져온 후 이벤트 오브젝트를 작성하고 등록 정보 데이터로 채울 수 있습니다.

이 타스크의 수행 목적 및 시기

대부분의 이벤트 등록 정보는 공통 기본 이벤트 스펙에 의해 선택적으로 정의되지만 다음 등록 정보는 필수입니다.
주: version 속성은 공통 기본 이벤트 스펙에 의해 선택적으로 정의되지만, 지정되지 않으면 기본값 1.0이 가정됩니다. 공통 이벤트 하부 구조가 스펙의 버전 1.0.1만을 지원하기 때문에 이 값을 지정해야 합니다.

등록 정보가 없는 이벤트를 전송하려고 하면 이미터는 이벤트를 거부하고 EventsException 예외를 발생합니다.

다음 코드 단편은 이벤트를 작성하고 최소 필수 등록 정보 데이터로 채웁니다.

CommonBaseEvent event = eventFactory.createCommonBaseEvent(); 

event.setVersion("1.0.1");                     // set version

long currentTime = System.currentTimeMillis(); // get current time
event.setCreationTimeAsLong(currentTime);      // and set creationTime

// set sourceComponentId (a complex type) 
event.setSourceComponentId("Windows",          // application
                           "svchost.exe",      // component
                           "tlntsvr.exe",      // subcomponent
                           "http://www.ibm.com/namespaces/autonomic/Windows", // componentType
                           "win386_svc",       // componentIdType
                           "9.45.72.138",      // location
                           "IPV4"              // locationType
                           );

// create situation object
Situation situation = eventFactory.createSituation();

// set situationType to AvailableSituation (a complex type)
situation.setAvailableSituation("EXTERNAL",          // reasoningScope
                                "NOT AVAILABLE",     // availabilityDisposition
                                "STARTABLE",         // operationDisposition
                                "FUNCTION_PROCESS"); // processingDisposition

// set situation
event.setSituation(situation); 

이 예는 먼저 이벤트 팩토리를 사용하여 새 이벤트 인스턴스인 event를 작성합니다. 첫 번째 version 등록 정보를 설정합니다. 그 다음 현재 시스템 시간을 검색하고 setCreationTimeAsLong(long) 메소드를 사용하여 creationTime 등록 정보의 값을 설정합니다. 다른 방법은 setCreationTime(String) 메소드를 사용하는 것입니다. 이 메소드는 XML dateTime 형식을 사용하여 작성 시간을 설정합니다(예: "2004-07-29T13:12:00-05:00").

다음 필수 등록 정보인 sourceComponentId는 고유한 등록 정보를 갖는 ComponentIdentification의 인스턴스로 표시되는 복합 등록 정보입니다. 그러나 이 오브젝트와 상호작용하거나 직접 인스턴스화할 필요는 없습니다(가능한 경우에도). 대신, 예의 다음 명령문은 헬퍼 메소드 setSourceComponentId()를 사용하여 중첩된 등록 정보를 지정합니다. 헬퍼 메소드는 이들 값을 사용하여 이벤트의 sourceComponentId 등록 정보의 값을 설정하는 데 사용되는 ComponentIdentification의 인스턴스를 작성합니다.

다른 복합 등록 정보(예: setMsgDataElement(), addAssociatedEvent 및 addExtendedDataElement()) 설정을 위한 비슷한 헬퍼 메소드가 존재합니다. 이 메소드들은 서명이 다른 여러 버전으로 존재하므로, 다양한 방식으로 등록 정보 값을 지정할 수 있습니다. 이들 메소드에 대한 자세한 정보는 Javadoc API 문서를 참조하십시오.

예제의 마지막 필수 등록 정보인 Situation은 또 다른 복합 등록 정보입니다. 이 경우에 상황 오브젝트는 이벤트 팩토리를 사용하여 직접 인스턴스화되어야 합니다. 예제는 그 뒤에 핼퍼 메소드를 사용하여 그 자체가 복합 하위 요소인 situationType 등록 정보를 설정합니다.

실제 응용프로그램에서는 유용한 이벤트가 여기에 표시된 것보다 중요한 정보를 포함해야 하지만, 이것이 공통 기본 이벤트 스펙 및 공통 이벤트 하부 구조에서 요구되는 최소 등록 정보입니다. 이벤트가 현재 유효하므로 이미터에 제출될 수 있습니다.


이용약관 |

최종 갱신: 2006년 4월 13일

(c) Copyright IBM Corporation 2005, 2006.
이 Information Center는 Eclipse 기술을 기반으로 합니다. (http://www.eclipse.org 웹 사이트 참조)