始める前に
ロード可能インプリメンテーション・ライブラリー、または 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; }