各プラグインの特殊なメソッドを使用して、プラグインのライフサイクルを 管理できます。それらのメソッドは、指定された機能ポイントで呼び出すことができます。initialize メソッドと destroy メソッドの両方でプラグインのライフサイクルが定義されます。これらのメソッドは、その「所有者」オブジェクトによって制御されます。所有者オブジェクトは、実際に指定のプラグインを使用するオブジェクトです。 所有者はグリッド・クライアント、サーバー、またはバックアップ・マップである場合があります。
すべてのプラグインは、それぞれの所有者オブジェクトに適した オプションのミックスイン・インターフェースを同じように実装できます。ObjectGrid プラグインは、オプションのミックスイン・インターフェース ObjectGridPlugin を実装できます。BackingMap プラグインは、オプションのミックスイン・インターフェース BackingMapPlugin を実装できます。オプションのミックスイン・インターフェースには、基本プラグイン用の initialize() メソッドと destroy() メソッドに加えて、いくつかの追加メソッドの 実装が必要です。これらのインターフェースの詳細については、API 資料を参照してください。
所有者オブジェクトの初期化時、それらのオブジェクトはプラグインの属性を設定し、次に 所有するプラグインの initialize メソッドを呼び出します。所有者オブジェクトの破棄サイクル中は、最終的にプラグインの destroy メソッドも呼び出されます。各プラグインで使用できる他のメソッドと同様に、initialize メソッドと destroy メソッドの特性ついて詳しくは、各プラグインの関連トピックを参照してください。
例えば、分散環境を考えてみます。 クライアント・サイド ObjectGrid およびサーバー・サイド ObjectGrid は両方とも、独自のプラグインを持っています。クライアント・サイド ObjectGrid のライフサイクルは (したがってそのプラグイン・インスタンスも同様に)、すべてのサーバー・サイドの ObjectGrid とプラグイン・インスタンスから独立しています。
こうした分散トポロジーで、objectGrid.xml ファイル内に myGrid という名前の ObjectGrid が定義されていて、myObjectGridEventListener という名前のカスタマイズされた ObjectGridEventListener が構成されているとします。objectGridDeployment.xml ファイルは、myGrid ObjectGrid のデプロイメント・ポリシーを定義します。コンテナー・サーバーを始動するために、objectGrid.xml と objectGridDeployment.xml の両方が使用されます。コンテナー・サーバーの始動時、サーバー・サイドの myGrid ObjectGrid インスタンスが初期化されます。それと同時に、myObjectGrid インスタンスが 所有する myObjectGridEventListener インスタンスの initialize メソッドが 呼び出されます。コンテナー・サーバーの始動後、アプリケーションはサーバー・サイド myGrid ObjectGrid インスタンスに接続して、クライアント・サイド・インスタンスを取得できます。
クライアント・サイドの myGrid ObjectGrid インスタンスを取得する際は、クライアント・サイドの myGrid インスタンスが 自身の初期化サイクルを経て、自身のクライアント・サイド myObjectGridEventListener インスタンスの initialize メソッドを呼び出します。このクライアント・サイド myObjectGridEventListener インスタンスは、サーバー・サイド myObjectGridEventListener インスタンスとは独立しています。そのライフサイクルは、その所有者、つまりクライアント・サイド myGrid ObjectGrid インスタンスによって制御されます。
アプリケーションがクライアント・サイド myGrid ObjectGrid インスタンスを切断 または破棄すると、クライアント・サイド myObjectGridEventListener インスタンスに属している destroy メソッドが自動的に呼び出されます。ただし、このプロセスは、サーバー・サイド myObjectGridEventListener インスタンスには何の影響もありません。サーバー・サイド myObjectGridEventListener インスタンスの destroy メソッドは、 コンテナー・サーバーを停止する際、サーバー・サイド myGrid ObjectGrid インスタンスの 破棄ライフサイクルの中でのみ呼び出すことができます。具体的には、コンテナー・サーバーを停止すると、そこに 含まれる ObjectGrid インスタンスが破棄され、それらが所有するすべてのプラグインの destroy メソッドが呼び出されます。
前の例は特にクライアントとサーバーの ObjectGrid インスタンスのケースに 適用されますが、プラグインの所有者は BackingMap インターフェースの場合もあります。さらに、プラグインを作成する場合は、 これらのライフサイクルについての考慮事項を基に、プラグインの構成を慎重に決定してください。環境内のリソースを セットアップまたは削除するときに使用できる拡張ライフサイクル管理イベントを提供する プラグインを作成するには、次のトピックを使用してください。