Beispiel: Map mit der Schnittstelle ClientLoader erneut laden

Das erneute Laden einer Map (Reload) entspricht dem vorherigen Laden einer Map (Preload) mit der Ausnahme, dass das Argument isPreload in der Methode "ClientLoader.load" auf false gesetzt wird.

Clientbasiertes Beispiel für erneutes Laden

Im folgenden Beispiel wird gezeigt, wie Maps erneut geladen werden. Verglichen mit dem Preload-Beispiel besteht der Hauptunterschied darin, dass eine loadSql und Parameter angegeben sind. Dieser Beispielcode lädt nur die Customer-Daten mit einer ID zwischen 1000 und 2000 erneut. Der Parameter isPreload in der Methode "load" wird auf false gesetzt.
// StateManager-Objekt abrufen
StateManager stateMgr = StateManagerFactory.getStateManager();

// ObjectGrid-Status vor dem Aufruf von ClientLoader.loader auf PRELOAD setzen
stateMgr.setObjectGridState(AvailabilityState.PRELOAD, objectGrid);

ClientLoader c = ClientLoaderFactory.getClientLoader();

// Daten laden
String loadSql = "select c from CUSTOMER c 
    where c.custId >= :startCustId and c.custId < :endCustId ";
Map<String, Long> params = new HashMap<String, Long>();
params.put("startCustId", 1000L);
params.put("endCustId", 2000L);

c.load(objectGrid, "CUSTOMER", "customerPU", null, null, 
    loadSql, params, false, null);

// ObjectGrid-Status zurück auf ONLINE setzen
stateMgr.setObjectGridState(AvailabilityState.ONLINE, objectGrid);
Hinweis: Diese Abfragezeichenfolge entspricht sowohl der JPA-Abfragesyntax als auch der Syntax für eXtreme-Scale-Entitäten. Diese Abfragezeichenfolge ist wichtig, weil sie zweimal ausgeführt wird: einmal zum Invalidieren der übereinstimmenden ObjectGrid-Entitäten und einmal zum Laden der übereinstimmenden JPA-Entitäten.