BackingMapPlugin プラグインの作成

BackingMap プラグインは、BackingMapPlugin ミックスイン・インターフェースを実装します。このインターフェースを使用すると、プラグインの ライフサイクルを管理する拡張機能を受け取ることができます。

このタスクについて

BackingMapPlugin インターフェースも実装している 既存の BackingMap プラグインは、構成して使用する際に ライフサイクル・イベントの拡張セットを自動的に受け取ります。

BackingMapPlugin インターフェースは、プラグインの 状態を設定または変更するメソッドや、プラグインの現在の状態をイントロスペクトする メソッドを提供します。

すべてのメソッドは正しく実装される必要があり、WebSphere® eXtreme Scale ランタイム環境は、特定の 状況においてメソッドの振る舞いを検査します。例えば、initialize() メソッドを呼び出した後、eXtreme Scale ランタイム環境は isInitialized() メソッドを呼び出して、メソッドが該当の初期化を正常に 完了したか確認します。

手順

  1. BackingMapPlugin プラグインが重大な eXtreme Scale イベントについての 通知を受け取ることができるように、BackingMapPlugin インターフェースを実装します。 メソッドは主に 3 つのカテゴリーに分かれます。
    プロパティー・メソッド 目的
    setBackingMap() プラグインを使用する BackingMap インスタンスを設定するために呼び出します。
    getBackingMap() プラグインを使用する BackingMap インスタンスを取得または確認するために呼び出します。
    初期設定メソッド 目的
    initialize() BackingMapPlugin プラグインを初期化するために呼び出します。
    isInitialized() プラグインの初期化状況を取得または確認するために呼び出します。
    消滅メソッド 目的
    destroy() BackingMapPlugin プラグインを破棄するために呼び出します。
    isDestroyed() プラグインの破棄状況を取得または確認するために呼び出します。

    これらのインターフェースの詳細については、API 資料を参照してください。

  2. XML を使用して BackingMapPlugin プラグインを構成します。 eXtreme Scale Loader プラグインのクラス名は com.company.org.MyBackingMapPluginLoader クラスとします。 このクラスは Loader インターフェースと BackingMapPlugin インターフェースを実装します。

    次のサンプル・コードでは、最終的に拡張ライフサイクル・イベントを受け取るカスタム・トランザクション・コールバックが 生成され、BackingMap に追加されます。

    BackingMapPlugin プラグインは、XML を使用して構成することもできます。以下のテキストは、myGrid.xml ファイルに存在しなければなりません。

    <?xml version="1.0" encoding="UTF-8" ?>
    <objectGridconfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://ibm.com/ws/objectgrid/config../objectGrid.xsd" 
            xmlns="http://ibm.com/ws/objectgrid/config">
        <objectGrids>
            <objectGrid name="myGrid">
                <backingMap name="Book" pluginCollectionRef="myPlugins" />
            </objectGrid>
        </objectGrids>
        <backingMapPluginCollections>
            <backingMapPluginCollection id="myPlugins">
                <bean id="Loader"
                      className="com.company.org.MyBackingMapPluginLoader" />
            </backingMapPluginCollection>
        </backingMapPluginCollections>
    </objectGridConfig>
  3. myGrid.xml ファイルを ObjectGridManager プラグインに提供することで、この構成の作成が容易になります。

タスクの結果

作成した BackingMap インスタンスは、BackingMapPlugin ライフサイクル・イベントを 受け取る Loader を保持します。