사용자 정의 노드를 사용하기 위해서는 먼저
Workbench에 사용자 정의 노드 프로젝트를 작성할 파일을 전개해야
합니다. Workbench
의 플러그인 개발 Perspective를 사용하여
테스트 환경에서 이를 수행할 수 있습니다(PDE 런타임 기능 사용
참조).
실행 > 다른 이름으로 실행 > 런타임 Workbench 옵션을 사용하여
임시 노드가 포함된 Workbench의 새 사본을 시작하십시오. 이 perspective에 대한 추가 정보는 PDE 안내서를 참조하십시오.
메시지 플로우 편집기를 열면 팔레트에서 새 노드를
볼 수 있습니다. 새 노드를 테스트하려면
이를 메시지 플로우에 추가(메시지 플로우 노드 추가 참조)한 후 평상시와 같이 전개하십시오. 노드 정의에 만족하면,
메시지 플로우 편집기에서 노드의 정상 팔레트로 새 노드를 추가하십시오(사용자 정의 확장 분배 참조).
이를 수행할 때까지 새 노드는 테스트 Workbench 세션에서만
사용 가능합니다.
새로운 노드를 포함하는 Workbench 세션이 있을 경우 새 노드를 포함하는 테스트 메시지 플로우를 브로커로 전개할 수 있습니다. 이를
전개하기 전에 먼저 플러그인 노드를 작성, 컴파일 및 설치해야 합니다. 자세한 정보는 브로커 도메인에 사용자 정의 확장 구성요소 설치를 참조하십시오.
사용자 정의 노드가
포함된 메시지 플로우를 설정하고 전개했으며 해당 노드에 테스트 메시지를 송신한 경우, 노드가 작동하는지 여부를 판별하고 작동하지 않을 때는
문제의 원인을 알아내는 데 사용할 수 있는 여러 가지 진단 도구가 있습니다.
이벤트 로그를 사용하십시오. 자세한 정보는 사용자 정의 확장에서 이벤트 로그 기록 사용을 참조하십시오.
- 이벤트 로그를 점검하십시오(이에 대한 정보는 이벤트 로그 편집기 참조).
- 메시지 플로우에 Trace 노드를 추가하고 그 Trace 노드로부터의 출력을 점검하십시오(Trace 노드에 대한 정보는
Trace 노드 참조).
- 플로우 디버거를 사용하여 노드가 포함된 플로우를 디버그하십시오(이에 대한 정보는 메시지 플로우 응용프로그램 테스트 및 디버깅 참조).
다음 디버그 메시지는 사용자 정의
노드와 구문 분석기의 실행을 이해하는 데 도움이 됩니다.
- BIP2233 및 BIP2234: 사용자 정의
확장 구현 함수의 앞과 뒤에 추적된 메시지 쌍이 호출됩니다. 이러한 메시지는
입력 매개변수와 리턴 값을 보고합니다.
이러한 메시지에서는
"구현 함수"를 C 구현 함수 또는 Java 구현 메소드로 해석할 수 있습니다.
- BIP3904: 사용자 정의 노드의 Java
evaluate() 메소드를 호출하기 전에 추적되는 메시지
- BIP3905: 사용자 정의 노드의
CcniEvaluate() 구현 함수(CNI_VFT의 iFpEvaluate 구성원)를
호출하기 전에 추적되는 메시지
- BIP4142: 사용자 정의 노드 유틸리티 함수(유틸리티 함수는 구문 요소의 상태를 변경함)를
호출할 때 추적되는 디버그 메시지. 여기에는 cniSetElement*로 시작되는 모든 유틸리티 함수가
포함됩니다. 여기서 *는 파생된 모든 노드를 나타냅니다.
- BIP4144 및 BIP4145: 사용자 정의 확장에
의해 호출될 때 Message Broker 오브젝트의 내부 상태를 수정할 수 있는 특정 구현
함수가 추적한 메시지 쌍. 가능한 Message Broker 오브젝트에는 구문 요소, 노드
및 구문 분석기가 포함됩니다.
이러한 메시지에서는
"구현 함수"를 C 구현 함수 또는 Java 구현 메소드로 해석할 수 있습니다.
- BIP4146: 사용자 정의 구문 분석기 유틸리티 함수(유틸리티 함수는 구문 요소의 상태를 변경함)를
호출할 때 추적되는 디버그 메시지. 여기에는 cpiSetElement*로 시작되는 모든 유틸리티 함수가
포함됩니다.
C 언어 사용자 정의 노드 API에 대한 정보는 C 언어 사용자 정의 구문 분석기 API 및
C 언어 사용자 정의 노드 API를 참조하십시오.
- BIP4147: 사용자 정의 확장이
올바르지 않은 입력 오브젝트를 사용자 정의 확장 유틸리티 API 함수로 전달할 때
추적되는 오류 메시지.
- BIP4148: 사용자 정의 확장에
의해 브로커의 오브젝트가 손상될 때 추적되는 오류 메시지.
- BIP4149: 사용자 정의 확장이
올바르지 않은 입력 데이터 포인터를 사용자 정의 확장 유틸리티 API 함수로 전달할
때 추적되는 오류 메시지.
- BIP4150: 사용자 정의 확장이 올바르지 않은 입력 데이터를
사용자 정의 확장 유틸리티 API 함수로 전달할 때 추적되는 오류 메시지.
- BIP4151: cniGetAttribute2 또는 cniGetAttributeName2가
리턴 코드를 예상치 못한 값으로 설정할 때 추적되는 디버그 메시지. 예상되는 값은 CCI_SUCCESS, CCI_ATTRIBUTE_UNKNOWN 및
CCI_BUFFER_TOO_SMALL입니다. 다른 값은 예상치 못한 값입니다.
- BIP4152: 다음과 같은 상황에서 추적되는 디버그 메시지
- cniGetAttribute2 또는 cniGetAttributeName2가 리턴 코드를 CCI_BUFFER_TOO_SMALL로 설정합니다.
- cniGetAttribute2 또는 cniGetAttributeName2가 올바른 크기의 버퍼로 다시 호출되지만
리턴 코드는 CCI_BUFFER_TOO_SMALL로 설정됩니다.
구현 함수의 전체 목록은
사용자 정의 확장 문제점 해결을
참조하십시오.
이러한 추적 입력 항목을 보려면 디버그
레벨에서 사용자 추적을 전환하십시오. 자세한 정보는 추적 사용을 참조하십시오.