異なるフォーマットおよび構造のメッセージを解釈するためのユーザー定義パーサーを作成します。
ロード可能インプリメンテーション・ライブラリー、または LIL、 は C パーサー (またはノード) のインプリメンテーション・モジュールです。 LIL は、ファイル拡張子が .dll ではなく .lil である、Linux または UNIX 共有オブジェクトまたは Windows ダイナミック・リンク・ライブラリー (DLL) です。
作成する必要のあるインプリメンテーション関数のリストは、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;
}