Sie können einen benutzerdefinierten Parser erstellen, um Nachrichten mit unterschiedlichem Format und Struktur zu interpretieren.
Eine ladbare Implementierungsbibliothek (Loadable Implementation Library, LIL) ist das Implementierungsmodul für einen C-Parser (oder -Knoten). Eine LIL-Datei ist ein gemeinsam genutztes Linux- oder UNIX-Objekt oder eine Windows-DLL-Datei, die nicht die Datenerweiterung .dll, sondern .lil hat.
Die Implementierungsfunktionen, die Sie schreiben müssen, werden unter C-Parser-Implementierungsfunktionen aufgeführt. Die Dienstprogrammfunktionen, die von WebSphere Message Broker zu Ihrer Unterstützung bereitgestellt werden, sind unter C-Parser-Dienstprogrammfunktionen aufgelistet.
WebSphere Message Broker stellt den Quellcode für einen benutzerdefinierten Beispiel-Parser mit dem Namen 'BipSampPluginParser.c' bereit. Dieses Beispiel ist ein einfacher Pseudo-XML-Parser, den Sie in seinem aktuellen Zustand verwenden oder ändern können.
Sie müssen zum Deklarieren und Definieren eines benutzerdefinierten Parsers für den Broker eine Initialisierungsfunktion, bipGetParserFactory, in Ihrer LIL einfügen. Im Folgenden wird erläutert, wie die Initialisierungsfunktion vom Broker aufgerufen wird und wie durch diese Funktion der benutzerdefinierte Parser deklariert und definiert wird:
In der folgenden Prozedur wird beschrieben, wie Sie Ihren Parser im Broker deklarieren und definieren:
Parser werden beim Löschen oder erneuten Implementieren eines Nachrichtenflusses oder beim Stoppen des Prozesses der Ausführungsgruppe mithilfe des Befehls mqsistop gelöscht. Durch das Löschen des Parsers müssen der verwendete Speicher und darin enthaltene Ressourcen mithilfe der Funktion cpiDeleteContext freigegeben werden. Beispiel:
void cpiDeleteContext( CciParser* parser, CciContext* context ){ PARSER_CONTEXT_ST* pc = (PARSER_CONTEXT_ST *)context ; int rc = 0; return; }