Exemple : Préchargement d'une mappe avec l'interface ClientLoader

Vous pouvez précharger une mappe pour la remplir avec ses données avant que les clients commencent à accéder à la mappe.

Exemple de préchargement basé sur le client

L'exemple de fragment de code ci-après illustre un chargement de client simple. Dans cet exemple, la mappe CUSTOMER est configurée comme une mappe d'entités. La classe d'entité Customer, qui est configurée dans le fichier XML du descripteur des métadonnées d'entité ObjectGrid possède une relation one-to-many avec les entités Order. L'option CascadeType.ALL de l'entité Customer est activée sur la relation avec l'entité Order. Avant l'appel de la méthode ClientLoader.load, l'état ObjectGrid a pour valeur PRELOAD. Le paramètre isPreload dans la méthode load a la valeur true.

// Extrayez le gestionnaire d'états 
StateManager stateMgr = StateManagerFactory.getStateManager();

// Affectez à l'état ObjectGrid la valeur PRELOAD avant d'appeler ClientLoader.loader
stateMgr.setObjectGridState(AvailabilityState.PRELOAD, objectGrid);

ClientLoader c = ClientLoaderFactory.getClientLoader();

// Charge les données
c.load(objectGrid, "CUSTOMER", "customerPU", null,
    null, null, null, true, null);
        
// Réaffectez à l'état ObjectGrid la valeur ONLINE
stateMgr.setObjectGridState(AvailabilityState.ONLINE, objectGrid);