시작하기 전에
LIL(loadable implementation library)는 C 구문 분석기(또는 노드)용 구현 모듈입니다. LIL은 Linux 또는 UNIX 공유 오브젝트 또는 Windows DLL(Dynamic Link Library)로서, 파일 확장자가 .dll이 아닌 .lil을 가집니다.
개발자가 작성해야 하는 구현 함수는 C 구문 분석기 구현 함수에 나열되어 있습니다. 이 프로세스를 돕기 위해 WebSphere Message Broker가 제공하는 유틸리티 함수는 C 구문 분석기 유틸리티 함수에 나열되어 있습니다.
WebSphere Message Broker는 BipSampPluginParser.c라고 하는 샘플 사용자 정의 구문 분석기 소스를 제공합니다. 이 소스는 그대로 사용하거나 수정하여 사용할 수 있는 간단한 가상 XML 구문 분석기입니다.
브로커에 사용자 정의 구문 분석기를 선언 및 정의하려면 초기화 함수인 bipGetParserFactory를 LIL에 반드시 포함해야 합니다. 다음 단계는 브로커가 초기화 함수를 호출하는 방법 및 초기화 함수가 사용자 정의 구문 분석기를 선언하고 정의하는 방법을 간략히 설명합니다.
다음 프로시저에서는 구문 분석기를 브로커에 선언 및 정의하는 방법을 보여줍니다.
다음 프로시저에서는 구문 분석기를 인스턴스화하는 방법을 보여줍니다.
메시지 플로우가 재전개될 때 또는 실행 그룹 프로세스가 정지될 때 구문 분석기가 폐기됩니다(mqsistop 명령 사용). 구문 분석기가 폐기될 때는 사용된 모든 메모리를 비우고 보유 자원을 모두 해제해야 합니다. cpiDeleteContext 함수를 사용하여 이 작업을 수행할 수 있습니다. 예를 들면 다음과 같습니다.
void cpiDeleteContext( CciParser* parser, CciContext* context ){ PARSER_CONTEXT_ST* pc = (PARSER_CONTEXT_ST *)context ; int rc = 0; return; }