Puede configurar un cliente de WebSphere eXtreme Scale en función de sus requisitos, como por ejemplo la necesidad de sustituir valores.
También puede alterar temporalmente los valores de ObjectGrid del lado del cliente mediante programación. Cree un objeto ObjectGridConfiguration que sea similar en estructura a la instancia de ObjectGrid del lado del servidor. El código siguiente crea una instancia de ObjectGrid del lado del cliente funcionalmente equivalente a la alteración temporal del cliente en la sección anterior que utiliza un archivo XML.
alteración temporal del lado del cliente mediante programación
ObjectGridConfiguration companyGridConfig = ObjectGridConfigFactory
.createObjectGridConfiguration("CompanyGrid");
Plugin txCallbackPlugin = ObjectGridConfigFactory.createPlugin(
PluginType.TRANSACTION_CALLBACK, "com.company.MyClientTxCallback");
companyGridConfig.addPlugin(txCallbackPlugin);
Plugin ogEventListenerPlugin = ObjectGridConfigFactory.createPlugin(
PluginType.OBJECTGRID_EVENT_LISTENER, "");
companyGridConfig.addPlugin(ogEventListenerPlugin);
BackingMapConfiguration customerMapConfig = ObjectGridConfigFactory
.createBackingMapConfiguration("Customer");
customerMapConfig.setNumberOfBuckets(1429);
Plugin evictorPlugin = ObjectGridConfigFactory.createPlugin(PluginType.EVICTOR,
"com.ibm.websphere.objectgrid.plugins.builtins.LRUEvictor");
customerMapConfig.addPlugin(evictorPlugin);
companyGridConfig.addBackingMapConfiguration(customerMapConfig);
BackingMapConfiguration orderLineMapConfig = ObjectGridConfigFactory
.createBackingMapConfiguration("OrderLine");
orderLineMapConfig.setNumberOfBuckets(701);
orderLineMapConfig.setTimeToLive(800);
orderLineMapConfig.setTtlEvictorType(TTLType.LAST_ACCESS_TIME);
companyGridConfig.addBackingMapConfiguration(orderLineMapConfig);
List ogConfigs = new ArrayList();
ogConfigs.add(companyGridConfig);
Map overrideMap = new HashMap();
overrideMap.put(CatalogServerProperties.DEFAULT_DOMAIN, ogConfigs);
ogManager.setOverrideObjectGridConfigurations(overrideMap);
ClientClusterContext client = ogManager.connect(catalogServerEndpoints, null, null);
ObjectGrid companyGrid = ogManager.getObjectGrid(client, objectGridName);
La instancia de ogManager de la interfaz ObjectGridManager comprueba si hay alteraciones temporales sólo en los objetos ObjectGridConfiguration y BackingMapConfiguration incluidos en la correlación overrideMap. Por ejemplo, el código anterior altera temporalmente el número de grupos de la correlación OrderLine. No obstante, la correlación Order permanece inalterada en el lado del cliente porque no se incluye ninguna configuración para dicha correlación.
La memoria caché cercana se habilita de manera predeterminada al configurar el bloqueo como optimista o ninguno. Los clientes no mantienen una memoria caché cercana cuando el valor de bloqueo se configura como pesimista. Para inhabilitar la memoria caché cercana, debe establecer el atributo de numberOfBuckets en 0 en el archivo descriptor de ObjectGrid de alteración temporal del cliente. Lea sobre Gestor de bloqueo para obtener más información.