Geben Sie an, wann Daten automatisch aus dem globalen Cache entfernt werden sollen.
Erstellen Sie einen Nachrichtenfluss, der einen JavaCompute-Knoten enthält, und erstellen Sie eine Java™-Datei für diesen Knoten. Ausführliche Anweisungen finden Sie im Abschnitt Zugriff auf den globalen Cache mithilfe eines JavaCompute-Knotens.
Beim Abruf eines MbGlobalMap-Objekts können Sie angeben, wie lange die Daten im globalen Cache verbleiben, bis sie automatisch entfernt werden. Diese Zeitspanne wird als Lebensdauer bezeichnet und beginnt ab der letzten Aktualisierung des Zuordnungseintrags. Der Wert gilt für alle Cacheeinträge, die unter Verwendung dieses MbGlobalMap-Objekts in dieser Instanz des Nachrichtenflusses erstellt werden. Daten, die sich bereits in der von Ihnen angegebenen Zuordnung befinden, oder Daten, die von einem anderen MbGlobalMap-Objekt erstellt werden, sind von dem Wert der Lebensdauer nicht betroffen.
Die Lebensdauer ist standardmäßig auf null gesetzt, was bedeutet, dass die Daten nie entfernt werden. Wenn Sie eine bestimmte Lebensdauer festlegen möchten, erstellen Sie eine Sitzungsrichtlinie, die Sie über das MbGlobalMap-Objekt referenzieren können.
MbGlobalMap myMap = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(60));
MbGlobalMapSessionPolicy sessionPol = new MbGlobalMapSessionPolicy(60);
MbGlobalMap myMap = MbGlobalMap.getGlobalMap("myMap", sessionPol);
Sie können mehrere MbGlobalMap-Objekte in verschiedenen Flüssen, Ausführungsgruppen oder Brokern erstellen, die alle in dieselbe Zuordnung im globalen Cache aufgelöst werden, jedoch unterschiedliche Lebensdauerwerte aufweisen. Sie müssen den Code jedoch auf eine bestimmte Weise strukturieren, wenn Sie mehrere Cacheeinträge mit unterschiedlichen Lebensdauerwerten in dieselbe Zuordnung desselben Nachrichtenflusses stellen möchten.
MbGlobalMap m1 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(60));
MbGlobalMap m2 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(40));
MbGlobalMap m3 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(20));
m1.put("k1","v1");
m2.put("k2","v2");
m3.put("k3","v3");
MbGlobalMap m1 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(60));
m1.put("k1","v1");
m1 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(40));
m1.put("k2","v2");
m1 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(20));
m1.put("k3","v3");
Um die Interaktion mit dem globalen Cache abzuschließen, führen Sie die verbleibenden Schritte unter Zugriff auf den globalen Cache mithilfe eines JavaCompute-Knotens aus.