このセクションでは、WebSphere® Message Broker の機能性を拡張するための、
ユーザー定義ノードまたはパーサーのインプリメント方法について詳しく説明します。
ユーザー定義ノードは C または Java で作成できます。
ユーザー定義パーサーは C のみで作成できます。
ユーザー定義拡張機能の概要については、ユーザー定義拡張機能の概説をお読みください。
ユーザー定義ノードとユーザー定義パーサーの設計および作成について詳しくは、次のトピックを参照してください。
ユーザー定義ノードを作成した後、テストすることができます。この作業については、ユーザー定義ノードのテストで説明されています。
複数のコンピューター上でユーザー定義のノードまたはパーサーをテストまたは使用したい場合は、ユーザー定義拡張機能のパッケージ化と配布 の指示に従ってください。
ユーザー定義拡張機能を作成するときは、以下の制限と要因を考慮してください。
- C ユーザー定義ノードの Java へのインターフェースと、JNI ラッパーの提供は、サポートされていません。
この制限があるのは、ブローカーが内部的に JVM を初期化するためで、
これがユーザー定義拡張機能インターフェースを介して使用できないからです。
JVM は、ブローカーの要件に固有のさまざまなパラメーターを指定して初期化されます。
プロセスには 1 つの JVM しかないので、
最初に JVM を初期化するユーザーがこれらのパラメーターを指定します。
ユーザー定義ノードが Java を使用し、ブローカーが最初に初期化される場合、
これらのパラメーターはユーザー定義ノードに適切でない場合があります。
ユーザー定義ノードがブローカーの開始前に JVM を作成する場合、ブローカーは正しく機能しない場合があります。
- ユーザー定義ノードは、WebSphere Event Broker にデプロイできます。
ユーザー定義ノードを WebSphere Event Broker ユーザー用に作成する場合には、ESQL コードを評価する機能をユーザーに公開しないよう、注意する必要があります。例えば、MbSQLStatement への入力をノード・プロパティーとして公開するノードは、実際には Compute ノードをエミュレートしていることになります。WebSphere Event Broker での ESQL の使用はサポートされません。
- ユーザー定義入力ノードは、XML、BLOB、および MQ パーサーのみをサポートします。
- オペレーティング・システム固有の関数を使用しないようにしてください。
そのようなコーディングにより、ソース・コードを変更することなく、さまざまなプラットフォームでユーザー定義拡張機能を処理することができます。
以下の表は、作成したいユーザー定義拡張機能のタイプごとに、読む必要があるトピックを示しています。