Interface BackingMap

Cada instância do ObjectGrid contém uma coleta de objetos de BackingMap. Use o método defineMap ou o método createMap da interface ObjectGrid para nomear e incluir cada BackingMap em uma instância do ObjectGrid. Estes métodos retornam uma instância do BackingMap que é então utilizada para definir o comportamento de um Mapa individual. Um BackingMap pode ser considerado como um cache de memória de dados com commit para um mapa individual.

Interface Session

A interface Session é usada para iniciar uma transação e obter o ObjectMap ou JavaMap que é necessário para execução de interação transacional entre um aplicativo e um objeto BackingMap. No entanto, as alterações na transação não serão aplicadas ao objeto de BackingMap até que a transação seja confirmada. Um BackingMap pode ser considerado como um cache de memória de dados com commit para um mapa individual. Para obter mais informações, consulte o Uso de Sessões para Acessar Dados na Grade.

A interface BackingMap oferece métodos para configuração de atributos do BackingMap. Alguns dos métodos set permitem a extensibilidade de um BackingMap por meio de vários plug-ins projetados customizados. Consulte a lista dos métodos de configuração a seguir para configurar atributos e fornece suporte a plug-ins desenvolvidos de forma customizada:

// 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);

Existe um método get correspondente para cada um dos métodos set listados.

Atributos de BackingMap

Cada BackingMap possui os seguintes atributos que podem ser configurados para modificar ou controlar o comportamento de BackingMap:

O exemplo a seguir demonstra como definir o someMap BackingMap na instância someGrid ObjectGrid e configura diversos atributos do BackingMap utilizando os métodos set da 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-ins do BackingMap

A interface BackingMap possui vários pontos de conexão opcionais para interações mais extensíveis com o ObjectGrid:

Para obter informações adicionais sobre plug-ins, consulte o Visão Geral de Plug-ins.