例: クライアント・ローダーの呼び出し

Loader インターフェースでプリロード・メソッドを使用して、クライアント・ローダーを呼び出すことができます。

Loader インターフェースでプリロード・メソッドを使用して、クライアント・ローダーを呼び出します。
void preloadMap(Session session, BackingMap backingMap) throws LoaderException;

このメソッドは、ローダーにデータをマップにプリロードするように通知します。ローダー実装では、クライアント・ローダーを使用して、データをそのすべての区画にプリロードすることができます。例えば、JPA ローダーでは、クライアント・ローダーを使用して、データをマップにプリロードします。詳しくは、クライアント・ベース JPA プリロード・ユーティリティーの概要を参照してください。

例: preloadMap メソッドを使用した、クライアント・ローダーの呼び出し

preloadMappreloadMap メソッドでクライアント・ローダーを使用してマップをプリロードする方法の例は以下のとおりです。この例では、まず、現在の区画番号がプリロード区画と同じかどうかをチェックします。区画番号がプリロード区画と同じでない場合は、何もアクションはありません。 区画番号が一致する場合、クライアント・ローダーが呼び出されてデータがマップにロードされます。 クライアント・ローダーの呼び出しは、1 つのみの区画で行われる必要があります。
void preloadMap (Session session, BackingMap backingMap) throws LoaderException {

....
	ObjectGrid objectGrid = session.getObjectGrid();
	int partitionId = backingMap.getPartitionId();
	int numPartitions = backingMap.getPartitionManager().getNumOfPartitions();

	// Only call client loader data in one partition
	if (partitionId == preloadPartition) {
  	  ClientLoader c = ClientLoaderFactory.getClientLoader();
    // Call the client loader to load the data
    try {
        c.load(objectGrid, "CUSTOMER", "customerPU", 
					null, entityClass, null, null, true, null);
    } catch (ObjectGridException e) {
        LoaderException le = new LoaderException("Exception caught in ObjectMap " + 
					ogName + "." + mapName);
        le.initCause(e);
        throw le;
    }
	}
}
要確認: backingMap 属性「preloadMode」を true に構成して、プリロード・メソッドが非同期で実行されるようにします。 そのように構成しないと、プリロード・メソッドが ObjectGrid インスタンスをブロックし、アクティブ化を妨げます。