Interface BackingMap

Chaque instance ObjectGrid contient une collection d'objets BackingMap. Les méthodes defineMap ou createMap de l'interface ObjectGrid permettent de nommer et d'ajouter chaque mappe de sauvegarde à une instance ObjectGrid. Ces méthodes retournent une instance BackingMap qui sert alors à définir le comportement de la mappe correspondante. L'on peut considérer les objets BackingMap comme des caches en mémoire des données validées d'une mappe individuelle.

Interface Session

L'interface Session sert à commencer une transaction et à obtenir l'ObjectMap ou le JavaMap requis pour assurer l'interaction transactionnelle entre une application et un objet BackingMap. Mais les modifications subies par la transaction ne sont appliquées à l'objet BackingMap qu'après la validation de la transaction. L'on peut considérer les objets BackingMap comme des caches en mémoire des données validées d'une mappe individuelle. Pour plus d'informations, voir les Utilisation des sessions pour accéder aux données de la grille.

L'interface BackingMap fournit des méthodes pour la définition des attributs BackingMap. Certaines des méthodes set apporte une extensibilité aux mappes de sauvegarde via plusieurs plug-in personnalisés conçus à cet effet. La liste qui suit répertorie les méthodes set permettant de définir des attributs et fournissant une prise en charge de ces plug-in personnalisés :

// Pour la définition des attributs de BackingMap.
public void setReadOnly(boolean readOnlyEnabled);
public void setNullValuesSupported(boolean nullValuesSupported);
public void setLockStrategy( LockStrategy lockStrategy );
public void setCopyMode(CopyMode mode, Class valueInterface);
public void setCopyKey(boolean b);
public void setNumberOfBuckets(int numBuckets);
public void setNumberOfLockBuckets(int numBuckets);
public void setLockTimeout(int seconds);
public void setTimeToLive(int seconds);
public void setTtlEvictorType(TTLType type);
public void setEvictionTriggers(String evictionTriggers);

// For setting an optional custom plug-in provided by application.
public abstract void setObjectTransformer(ObjectTransformer t);
public abstract void setOptimisticCallback(OptimisticCallback checker);
public abstract void setLoader(Loader loader);
public abstract void setPreloadMode(boolean async);
public abstract void setEvictor(Evictor e);
public void setMapEventListeners( List /*MapEventListener*/ eventListenerList );
public void addMapEventListener(MapEventListener eventListener );
public void removeMapEventListener(MapEventListener eventListener );
public void addMapIndexPlugin(MapIndexPlugin index);
public void setMapIndexPlugins(List /\* MapIndexPlugin \*/ indexList );
public void createDynamicIndex(String name, boolean isRangeIndex,
String attributeName, DynamicIndexCallback cb);
public void createDynamicIndex(MapIndexPlugin index, DynamicIndexCallback cb);
public void removeDynamicIndex(String name);

Il existe une méthode get pour chacune des méthodes set de la liste ci-dessus.

Attributs BackingMap

Toute mappe de sauvegarde possède les attributs suivant qu'il est possible de définir pour modifier ou pour contrôler son comportement :

L'exemple qui suit montre comment définir la mappe de sauvegarde someMap dans l'instance ObjectGrid someGrid et comment définir divers attributs de cette mappe à l'aide des méthodes set de l'interface BackingMap :

import com.ibm.websphere.objectgrid.BackingMap;
import com.ibm.websphere.objectgrid.LockStrategy;
import com.ibm.websphere.objectgrid.ObjectGrid;
import com.ibm.websphere.objectgrid.ObjectGridManagerFactory;

...

ObjectGrid og =
ObjectGridManagerFactory.getObjectGridManager().createObjectGrid("someGrid");
BackingMap bm = objectGrid.getMap("someMap");
bm.setReadOnly( true ); // override default of read/write
bm.setNullValuesSupported(false); // override default of allowing Null values
bm.setLockStrategy( LockStrategy.PESSIMISTIC ); // override default of OPTIMISTIC
bm.setLockTimeout( 60 ); // override default of 15 seconds.
bm.setNumberOfBuckets(251); // override default (prime numbers work best)
bm.setNumberOfLockBuckets(251); // override default (prime numbers work best)

Plug-in BackingMap

L'interface BackingMap comporte plusieurs points optionnels de connexion de plug-in, qui étendent les possibilités d'interactions avec l'ObjectGrid.

Pour plus d'informations sur les plug-in, voir la Présentation des plug-in.