Sie können eine zeitbasierte Datenbankaktualisierung mit XML für eine lokale oder verteilte Konfiguration von eXtreme Scale konfigurieren. Eine lokale Konfiguration kann auch programmgesteuert konfiguriert werden.
Das folgende Beispiel zeigt eine Datei objectgrid.xml, die eine timeBasedDBUpdate-Konfiguration enthält:
Zeitbasierte JPA-Aktualisierungskomponente - XML-Beispiel
<?xml version="1.0" encoding="UTF-8"?>
<objectGridConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ibm.com/ws/objectgrid/config ../objectGrid.xsd"
xmlns="http://ibm.com/ws/objectgrid/config">
<objectGrids>
<objectGrid name="changeOG"
entityMetadataXMLFile="userEMD.xml">
<backingMap name="user" >
<timeBasedDBUpdate timestampField="rowChgTs"
persistenceUnitName="userderby"
entityClass="com.test.UserClass"
mode="INVALIDATE_ONLY"
/>
</backingMap>
</objectGrid>
</objectGrids>
<backingMapPluginCollections>
</objectGridConfig>
In diesem Beispiel wird die Map "user" mit einer zeitbasierten Datenbankaktualisierung konfiguriert. Der Datenbankaktualisierungsmodus ist INVALIDATE_ONLY, und das Zeitmarkenfeld ist "rowChgTs".
Wenn das verteilte ObjectGrid "changeOG" im Container-Server gestartet wird, wird automatisch ein Thread für die zeitbasierte Datenbankaktualisierung in Partition 0 gestartet.
Wenn Sie ein lokales ObjectGrid erstellen, können Sie auch ein TimeBasedDBUpdateConfig-Objekt erstellen und in der BackingMap-Instanz definieren:
public void setTimeBasedDBUpdateConfig(TimeBasedDBUpdateConfig dbUpdateConfig);
Weitere
Informationen zum Definieren eines Objekts in der BackingMap-Instanz finden Sie
im Abschnitt zur Schnittstelle "BackingMap"Alternativ können Sie das Zeitmarkenfeld in der Entitätsklasse mit der Annotation "com.ibm.websphere.objectgrid.jpa.dbupdate.annotation.Timestamp" annotieren. Wenn Sie den Wert in der Klasse konfigurieren, müssen Sie das Zeitmarkenfeld nicht in der XML-Konfiguration konfigurieren.