ブローカー・アーカイブ (BAR) ファイルに 1 つ以上の JavaCompute ノードを組み込む場合、JAR ファイルは別々のクラス・ローダーにロードされます。クラス・ローダーは、デプロイされた BAR にパッケージされたすべてのクラスをロードします。こうしたクラスは、共用クラス・ディレクトリーまたは CLASSPATH 環境変数内にあるすべてのクラスをオーバーライドします。
ブローカーは、以下のクラス・ローダー・ツリーを使用します。
以下のコンポーネントが、クラス・ローダー・ツリーにあります。
- Common クラス・ローダー: ブローカーとユーザー・コードの間で共用されるクラスをロードします。
例えば、jplugin2.jar に含まれているクラスは、ブローカーとユーザー・コードに共通しています。
- Broker クラス・ローダー: ブローカー内部クラスをロードします。ユーザー・クラスはこれらのクラスにアクセスできません。
- Shared クラス・ローダー: workpath/shared-classes/ ディレクトリーに置かれた JAR ファイルから、および CLASSPATH 環境変数からクラスをロードします。
これらのクラスは、ブローカー内のすべての Java ノードで使用可能です。
- EGShared クラス・ローダー: JavaCompute ノードまたは ESQL から Java へのマッピングによって、ブローカー・アーカイブ (BAR) ファイル内の実行グループにデプロイされるすべてのクラスをロードします。
ブローカーは、次の検索パスを使用して、JavaCompute ノード・クラスを検索します。
- デプロイされた JAR ファイル
- <WorkPath>/shared-classes/。JAR ファイルを見付けます。
- CLASSPATH 環境変数