BackingMap インターフェース

各 ObjectGrid インスタンスは、BackingMap オブジェクトのコレクションを含みます。 各 BackingMap を指定したり ObjectGrid インスタンスに追加したりするには、ObjectGrid インターフェースの defineMap メソッド または createMap メソッドをそれぞれ使用します。これらのメソッドは BackingMap インスタンスを戻し、このインスタンスは個々の Map の振る舞いを定義するために使用されます。 BackingMap は、個々のマップのためにコミットされたデータのメモリー内キャッシュとみなすことができます。

Session インターフェース

Session インターフェースを使用して トランザクションを開始し、アプリケーションと BackingMap オブジェクト間のトランザクション対話を実行するのに必要な ObjectMap または JavaMap を取得します。 ただし、トランザクションの変更は、トランザクションがコミットされるまで、BackingMap オブジェクトに適用されません。 BackingMap は、個々のマップのためにコミットされたデータのメモリー内キャッシュとみなすことができます。 詳しくは、セッションを使用したグリッド内データへのアクセスを参照してください。

BackingMap i インターフェースは、BackingMap 属性を設定するためのメソッドを提供します。 一部の set メソッドを使用して、いくつかのカスタム設計されたプラグインを介して BackingMap を拡張できます。 以下は、属性を設定する set メソッド、およびカスタム設計されたプラグインをサポートする set メソッドのリストです。

// For setting BackingMap attributes.
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);

リストされている各 set メソッドには、 対応する get メソッドが存在します。

BackingMap 属性

各 BackingMap には、BackingMap の振る舞いを変更または制御するために設定可能な以下の属性があります。

以下の例は、someGrid ObjectGrid インスタンスでの someMap BackingMap の定義方法および BackingMap インターフェースの set メソッドを使用した 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)

BackingMap プラグイン

BackingMap インターフェースには、ObjectGrid とより拡張性のある対話を行うためのオプションのプラグ・ポイントが複数あります。

プラグインについて詳しくは、プラグインの概要を参照してください。