Configuration des clients à l'aide d'un programme

Vous pouvez configurer un client WebSphere eXtreme Scale en fonction de vos besoins, tels que la nécessité de remplacer les paramètres.

Remplacement de plug-in

Vous pouvez remplacer les plug-in suivants sur un client :
  • ObjectGrid
    • TransactionCallback
    • ObjectGridEventListener
  • BackingMap
    • Evictor
    • MapEventListener
    • attribut numberOfBuckets
    • attribut ttlEvictorType
    • attribut timeToLive

Configuration du client à l'aide d'un programme

Vous pouvez aussi remplacer les paramètres ObjectGrid côté client à l'aide d'un programme. Créez un objet ObjectGridConfiguration dont la structure est semblable à celle de l'instance ObjectGrid côté serveur. Le code suivant crée une instance ObjectGrid côté client qui est fonctionnellement équivalente au remplacement par le client de la section précédente où un fichier XML était utilisé.

Remplacement côté client à l'aide d'un programme
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);

L'instance ogManager de l'interface ObjectGridManager ne vérifie les remplacements que dans les objets ObjectGridConfiguration et BackingMapConfiguration inclus dans la mappe overrideMap. Par exemple, le code précédent remplace le nombre de compartiments de la mappe OrderLine. La mappe Order reste cependant inchangée côté client car aucune configuration de cette mappe n'est incluse.

Désactivation du cache local du client

Le cache local est activé par défaut lorsque le verrouillage est configuré sur OPTIMISTIC ou sur NONE. Lorsqu'il est configuré sur PESSIMISTIC, le cache n'est pas activé. Pour désactiver le cache local, vous devez donner la valeur 0 à l'attribut numberOfBuckets dans le fichier de descripteur des remplacements ObjectGrid par les clients. Pour plus d'informations, voir Gestionnaire de verrous.