Clients über das Programm konfigurieren

Sie können einen Client von WebSphere eXtreme Scale Ihren Anforderungen entsprechend konfigurieren, z. B., um Einstellungen zu überschreiben.

Plug-ins überschreiben

Sie können die folgenden Plug-ins in einem Client überschreiben:
  • ObjectGrid-Plug-ins
    • TransactionCallback-Plug-in
    • ObjectGridEventListener-Plug-in
  • BackingMap-Plug-ins
    • Evictor-Plug-in
    • MapEventListener-Plug-in
    • Attribut "numberOfBuckets"
    • Attribut "ttlEvictorType"
    • Attribut "timeToLive"

Client über das Programm konfigurieren

Sie können die clientseitigen ObjectGrid-Einstellungen auch über das Programm überschreiben. Erstellen Sie ein ObjectGridConfiguration-Objekt, das in der Struktur der serverseitigen ObjectGrid-Instanz gleicht. Der folgende Code erstellt eine clientseite ObjectGrid-Instanz, die funktional äquivalent zum Überschreiben des Clients im vorherigen Abschnitt ist, für as eine XML-Datei verwendet wird.

Clientseitige Einstellungen über das Programm überschreiben
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);

Die ogManager-Instanz der Schnittstelle "ObjectGridManager" sucht nur nach Überschreibungen in den Objekten "ObjectGridConfiguration" und BackingMapConfiguration", die Sie in die overrideMap-Map einschließen. Der vorherige Code überschreibt beispielsweise die Anzahl der Buckets in der Map "OrderLine". Die Map "Order" bleibt jedoch auf der Clientseite unverändert, weil keine Konfiguration für diese Map eingefügt wurde.

Nahen Clientcache inaktivieren

Der nahe Cache wird standardmäßig aktiviert, wenn eine optimistische Sperrstrategie oder keine Sperrstrategie konfiguriert ist. Clients verwalten keinen nahen Cache, wenn pessimistisches Sperren konfiguriert ist. Zum Inaktivieren des nahen Caches müssen Sie das Attribut "numberOfBuckets" in der ObjectGrid-Deskriptordatei für das Überschreiben des Clients auf 0 setzen. Weitere Informationen finden Sie im Artikel Sperrenmanager.