사용자 정의 노드를 사용하기 위해서는 먼저
Workbench에 사용자 정의 노드 프로젝트를 작성할 파일을 전개해야
합니다. Workbench의 플러그인 개발
Perspective를 사용하여 테스트 환경에서 이를 수행할 수 있습니다.
실행 > 다른 이름으로 실행 > 런타임 Workbench 옵션을
사용하여 임시 노드가 포함된 Workbench의
새 사본을 시작하십시오. 이 perspective에 대한 추가 정보는 PDE Guide를 참조하십시오.
메시지 플로우 편집기를
열면 팔레트에 새 노드가 나타납니다. 새 노드를 테스트하려면
이를 메시지 플로우에 추가(노드 추가 참조)한 후 평상시와 같이 전개하십시오. 노드 정의에
만족하면 메시지 플로우 편집기에서 노드의 정상 팔레트로 새 노드를
추가하십시오(사용자 정의 노드 분배 참조). 이를 수행할 때까지 새 노드는 테스트 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 함수로 전달할 때
추적되는 오류 메시지.
구현 함수의 전체 목록은
사용자 정의 확장 문제점 해결을 참조하십시오.
이러한 추적 입력 항목을 보려면 디버그
레벨에서 사용자 추적을 전환하십시오. 자세한 정보는 추적 사용을 참조하십시오.