이 절에는
WebSphere Message Broker의 기능을 향상시키기 위한 사용자 정의 노드 또는 구문 분석기의 구현하는 방법에 대한 자세한 내용이 있습니다.
사용자 정의 노드를
C 또는 Java로 작성할 수 있습니다.
사용자 정의 구문 분석기는
C로만 작성할 수 있습니다.
사용자 정의 노드와 사용자 정의 구문 분석기 설계 및 작성에 대한 정보는 다음 주제를 참조하십시오.
작성 후 분배할 파일은 다음과 같습니다.
Windows 시스템에서 파일 유형이 '.lil'로
이름이 지정되는 다이나믹 링크 라이브러리(DLL)
Linux 시스템에서 파일 유형이 '.lil'인
공유 오브젝트
UNIX 시스템에서 파일 유형이 '.lil'인
공유 오브젝트
z/OS에서
파일 유형이 '.lil'인 공유 오브젝트
Java 노드에서
파일 유형이 '.jar'인 JAR(Java Archive file)
C 사용자 정의 확장은
여러 노드 또는 구문 분석기 유형을 지원할 수 있는 노드 또는 구문 분석기
팩토리를 구현합니다. Java 사용자는 노드 팩토리를 작성할 필요가 없습니다. 자세한 정보는
노드 및 구문 분석기 팩토리 작동을 참조하십시오.
시스템은 브로커가 초기화될 때 사용자 정의 확장 구성요소를 로드합니다. 그러면 사용자 정의 확장 구성요소에 등록 함수가 호출되어
브로커는 사용자 정의 확장 구성요소가 어떤 노드나 구문 분석기를 지원하는지 이해하게 됩니다.
사용자 정의 확장을 개발할 때
고려해야 할 몇 가지 제한사항과 요인이 있습니다.
- C 사용자 정의 노드를 Java에 인터페이싱하고 JNI에서 랩퍼를 설정하는 것은
지원되지 않습니다. 브로커는 내부적으로 JVM을 초기화하지만, JVM은 사용자 정의 확장
구성요소 인터페이스를 통해 사용할 수 없기 때문입니다. JVM은 브로커 요구사항에 맞는 여러 가지 매개변수로 초기화됩니다. 프로세스에는 단 하나의 JVM이 있기 때문에, 이를 가장 먼저 초기화하는 사람이 해당 매개변수를 지정하게 됩니다. 사용자 정의 노드가 Java를 사용하며 브로커가 먼저 초기화된 경우,
이 매개변수는 사용자 정의 노드에 맞지 않습니다. 브로커가 시작되기 전에
사용자 정의 노드가 JVM을 작성하면 브로커가 올바르게 작동하지 않을 수 있습니다.
- WebSphere Event
Broker에서 사용자 정의 노드를 전개할 수 있습니다.
WebSphere Event
Broker 사용자의 사용자 정의 노드를 작성할 때
ESQL 코드를 평가할 수 있는 기능을 사용자에게 노출하지 않아야 합니다. 예를 들어, MbSQLStatement에 대한 입력을
노드 속성으로 노출하는 노드는 Compute 노드를 효과적으로 에뮬레이트합니다. WebSphere Event
Broker에서는 ESQL 사용이
지원되지 않습니다.
- 사용자 정의 입력 노드는 XML, BLOB 및 MQ 구문 분석기만 지원할 수 있습니다.
- 운영 체제 특정 함수를 사용하지 마십시오. 그렇게 되면 사용자 정의 확장이
소스 코드를 변경할 필요 없이 여러 플랫폼에서 작동할 수 있습니다.
다음 표는 작성할 사용자 정의 확장 유형을 기준으로 읽어야 하는 주제를 보여줍니다.