Sie können die Methode für vorheriges Laden (preload) in der Schnittstelle Loader verwenden, um einen Client-Loader aufzurufen.
void preloadMap(Session session, BackingMap backingMap) throws LoaderException;
Diese Methode signalisiert dem Loader, die Daten vorher in die Map zu laden. Eine Loader-Implementierung kann einen Client-Loader verwenden, um die Daten vorher in alle seine Partitionen zu laden. Der JPA-Loader verwendet beispielsweise den Client-Loader, um Daten vorher in die Map zu laden. Weitere Informationen enthält der Artikel Übersicht über das clientbasierte JPA-Preload-Dienstprogramm.
void preloadMap (Session session, BackingMap backingMap) throws LoaderException {
....
ObjectGrid objectGrid = session.getObjectGrid();
int partitionId = backingMap.getPartitionId();
int numPartitions = backingMap.getPartitionManager().getNumOfPartitions();
// Client-Loader nur in einer einzigen Partition aufrufen
if (partitionId == preloadPartition) {
ClientLoader c = ClientLoaderFactory.getClientLoader();
// Client-Loader zum Laden der Daten aufrufen
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;
}
}
}