Freigeben über


HealthInformation Klasse

  • java.lang.Object
    • system.fabric.health.HealthInformation

public class HealthInformation

Enthält die Integritätsinformationen zur Entität. Diese Informationen sind im Integritätsbericht enthalten. Sie wird auch im Rahmen des Integritätsereignisses bereitgestellt.

Feldzusammenfassung

Modifizierer und Typ Feld und Beschreibung
final long autoSequenceNumber
final long unknownSequenceNumber

Zusammenfassung zum Konstruktor

Konstruktor Beschreibung
HealthInformation(String sourceId, String property, HealthState healthState)

Initialisiert eine neue Instanz der system.fabric.health.HealthInformation-Klasse.

Methodenzusammenfassung

Modifizierer und Typ Methode und Beschreibung
String getDescription()

Ruft die Beschreibung der Integritätsinformationen ab. Hierbei handelt es sich um Freitext, mit dem von Menschen lesbare Informationen über den Bericht hinzugefügt werden können.

Bemerkungen:Die maximale Zeichenfolgenlänge für die Beschreibung beträgt 4096 Zeichen.

HealthState getHealthState()

Ruft den Integritätsstatus der Integritätsinformationen ab.

Bemerkungen:Die akzeptierten Integritätszustände sind system.fabric.health.HealthState#Ok, system.fabric.health.HealthState#Warning und system.fabric.health.HealthState#Error.

String getProperty()

Ruft die Eigenschaft des Integritätsberichts ab.

Bemerkungen:Die Eigenschaft ist eine String-Eigenschaft und keine feste Enumeration, damit der Reporter das Integritätsereignis für eine bestimmte Eigenschaft der Entität kategorisieren kann. Beispiel: Berichterstatter A kann einen Integritätsbericht für die Eigenschaft „storage“ auf Node01 erstellen, und Berichterstatter B kann einen Integritätsbericht für die Eigenschaft „connectivity“ auf Node01 erstellen. Im Integritätsspeicher werden diese Berichte als separate Integritätsereignisse für die Entität „Node01“ behandelt.

long getSequenceNumber()

Ruft die dem Bericht zugeordnete Sequenznummer ab. Muss größer sein als system.fabric.health.HealthInformation#unknownSequenceNumber.

Bemerkungen:Die Berichtssequenznummer wird vom Integritätsspeicher verwendet, um veraltete Berichte zu erkennen. In den meisten Zeiten muss der Reporter die Sequenznummer nicht angeben. Stattdessen kann der Standardwert AutoSequenceNumber verwendet werden. Wenn ein Integritätsclient einen Bericht mit automatischer Sequenznummer empfängt, ersetzt er die automatische Sequenznummer durch eine gültige Sequenznummer. Die Sequenznummer wird im selben Prozess garantiert erhöht, auch wenn die Clientcomputerzeit rückwärts geht.

String getSourceId()

Ruft den Quellbezeichner ab, der die Watchdog-/Systemkomponente identifiziert, die die Integritätsinformationen generiert hat.

Duration getTimeToLive()

Ruft ab, wie lange der Integritätsbericht gültig ist. Muss größer als TimeSpan.Zero sein.

Bemerkungen:Wenn Clients in regelmäßigen Abständen Berichte melden, sollten sie Berichte mit höherer Häufigkeit als die Laufzeit senden. Wenn Clients Berichte zur Übertragung erstellen, können sie die Gültigkeitsdauer auf einen unbegrenzten Wert festlegen. Wenn die Gültigkeitsdauer abläuft, wird das Integritätsereignis, das die Integritätsinformationen enthält, entweder aus dem Integritätsspeicher entfernt, wenn RemoveWhenExpired true ist, oder bei Fehler ausgewertet, wenn RemoveWhenExpired false ist.

boolean isRemoveWhenExpired()

Ruft einen Wert ab, der angibt, ob der Bericht nach Ablauf aus dem Integritätsspeicher entfernt wird. Wenn dieser Wert auf „false“ festgelegt ist, wird der Bericht als Fehler behandelt, wenn er abgelaufen ist. Der Standardwert ist FALSE.

Bemerkungen:Wenn Clients regelmäßig Berichte melden, sollten sie RemoveWhenExpired false (Standard) festlegen. Auf diese Weise hat der Reporter Probleme (z. B. Deadlock) und kann nicht melden, wird die Entität bei Ablauf des Integritätsberichts fehlerhaft ausgewertet, und dadurch wird die Entität als system.fabric.health.HealthState#Errorgekennzeichnet. Regelmäßige Integritätsclients sollten Berichte mit höherer Häufigkeit als die Laufzeit senden, um Verzögerungen aufgrund von Integritätsclientbatches, Nachrichtentransport über die Verbindung und Verarbeitung des Integritätsspeichers zu berücksichtigen.

void setDescription(String description)

Legt die Beschreibung der Integritätsinformationen fest. Hierbei handelt es sich um Freitext, mit dem von Menschen lesbare Informationen über den Bericht hinzugefügt werden können.

Bemerkungen:Die maximale Zeichenfolgenlänge für die Beschreibung beträgt 4096 Zeichen.

void setRemoveWhenExpired(boolean removeWhenExpired)

Legt einen Wert fest, der angibt, ob der Bericht nach Ablauf aus dem Integritätsspeicher entfernt wird. Wenn dieser Wert auf „false“ festgelegt ist, wird der Bericht als Fehler behandelt, wenn er abgelaufen ist. Der Standardwert ist FALSE.

Bemerkungen:Wenn Clients regelmäßig Berichte melden, sollten sie RemoveWhenExpired false (Standard) festlegen. Auf diese Weise hat der Reporter Probleme (z. B. Deadlock) und kann nicht melden, wird die Entität bei Ablauf des Integritätsberichts fehlerhaft ausgewertet, und dadurch wird die Entität als system.fabric.health.HealthState#Errorgekennzeichnet. Regelmäßige Integritätsclients sollten Berichte mit höherer Häufigkeit als die Laufzeit senden, um Verzögerungen aufgrund von Integritätsclientbatches, Nachrichtentransport über die Verbindung und Verarbeitung des Integritätsspeichers zu berücksichtigen.

void setSequenceNumber(long sequenceNumber)

Legt die dem Bericht zugeordnete Sequenznummer fest. Muss größer sein als system.fabric.health.HealthInformation#unknownSequenceNumber.

Bemerkungen:Die Berichtssequenznummer wird vom Integritätsspeicher verwendet, um veraltete Berichte zu erkennen. In den meisten Zeiten muss der Reporter die Sequenznummer nicht angeben. Stattdessen kann der Standardwert AutoSequenceNumber verwendet werden. Wenn ein Integritätsclient einen Bericht mit automatischer Sequenznummer empfängt, ersetzt er die automatische Sequenznummer durch eine gültige Sequenznummer. Die Sequenznummer wird im selben Prozess garantiert erhöht, auch wenn die Clientcomputerzeit rückwärts geht.

void setTimeToLiveSeconds(Duration timeToLive)

Legt fest, wie lange der Integritätsbericht gültig ist. Muss größer als TimeSpan.Zero sein.

Bemerkungen:Wenn Clients in regelmäßigen Abständen Berichte melden, sollten sie Berichte mit höherer Häufigkeit als die Laufzeit senden. Wenn Clients Berichte zur Übertragung erstellen, können sie die Gültigkeitsdauer auf einen unbegrenzten Wert festlegen. Wenn die Gültigkeitsdauer abläuft, wird das Integritätsereignis, das die Integritätsinformationen enthält, entweder aus dem Integritätsspeicher entfernt, wenn RemoveWhenExpired true ist, oder bei Fehler ausgewertet, wenn RemoveWhenExpired false ist.

Felddetails

autoSequenceNumber

public final long autoSequenceNumber= 0

unknownSequenceNumber

public final long unknownSequenceNumber= -1

Details zum Konstruktor

HealthInformation

public HealthInformation(String sourceId, String property, HealthState healthState)

Initialisiert eine neue Instanz der system.fabric.health.HealthInformation-Klasse.

Parameter:

sourceId - Die Quelle des Berichts. Darf weder NULL noch leer sein. Es kann nicht mit "System" beginnen, das Schlüsselwort (keyword) für die Berichterstellung von Systemkomponenten reserviert ist.
property - Die Eigenschaft des Berichts. Darf weder NULL noch leer sein.
healthState - der Integritätszustand des Berichts. Muss angegeben werden. Muss einer der Werte von HealthStatesein.

Details zur Methode

getDescription

public String getDescription()

Ruft die Beschreibung der Integritätsinformationen ab. Hierbei handelt es sich um Freitext, mit dem von Menschen lesbare Informationen über den Bericht hinzugefügt werden können.

Bemerkungen:Die maximale Zeichenfolgenlänge für die Beschreibung beträgt 4096 Zeichen.

Gibt zurück:

Eine Zeichenfolge, die die Integritätsinformationen in lesbarer Form beschreibt.

getHealthState

public HealthState getHealthState()

Ruft den Integritätsstatus der Integritätsinformationen ab.

Bemerkungen:Die akzeptierten Integritätszustände sind system.fabric.health.HealthState#Ok, system.fabric.health.HealthState#Warning und system.fabric.health.HealthState#Error.

Gibt zurück:

Ein HealthState , der den gemeldeten Integritätszustand darstellt.

getProperty

public String getProperty()

Ruft die Eigenschaft des Integritätsberichts ab.

Bemerkungen:Die Eigenschaft ist eine String-Eigenschaft und keine feste Enumeration, damit der Reporter das Integritätsereignis für eine bestimmte Eigenschaft der Entität kategorisieren kann. Beispiel: Berichterstatter A kann einen Integritätsbericht für die Eigenschaft „storage“ auf Node01 erstellen, und Berichterstatter B kann einen Integritätsbericht für die Eigenschaft „connectivity“ auf Node01 erstellen. Im Integritätsspeicher werden diese Berichte als separate Integritätsereignisse für die Entität „Node01“ behandelt.

Gibt zurück:

Eine Zeichenfolge, die die Eigenschaft des Integritätsberichts darstellt. Zusammen mit der SourceId identifiziert sie die Integritätsinformationen eindeutig.

getSequenceNumber

public long getSequenceNumber()

Ruft die dem Bericht zugeordnete Sequenznummer ab. Muss größer sein als system.fabric.health.HealthInformation#unknownSequenceNumber.

Bemerkungen:Die Berichtssequenznummer wird vom Integritätsspeicher verwendet, um veraltete Berichte zu erkennen. In den meisten Zeiten muss der Reporter die Sequenznummer nicht angeben. Stattdessen kann der Standardwert AutoSequenceNumber verwendet werden. Wenn ein Integritätsclient einen Bericht mit automatischer Sequenznummer empfängt, ersetzt er die automatische Sequenznummer durch eine gültige Sequenznummer. Die Sequenznummer wird im selben Prozess garantiert erhöht, auch wenn die Clientcomputerzeit rückwärts geht.

Gibt zurück:

Eine lange, die die Berichtssequenznummer darstellt.

getSourceId

public String getSourceId()

Ruft den Quellbezeichner ab, der die Watchdog-/Systemkomponente identifiziert, die die Integritätsinformationen generiert hat.

Gibt zurück:

Eine Zeichenfolge, die die Quelle des Integritätsberichts darstellt.

getTimeToLive

public Duration getTimeToLive()

Ruft ab, wie lange der Integritätsbericht gültig ist. Muss größer als TimeSpan.Zero sein.

Bemerkungen:Wenn Clients in regelmäßigen Abständen Berichte melden, sollten sie Berichte mit höherer Häufigkeit als die Laufzeit senden. Wenn Clients Berichte zur Übertragung erstellen, können sie die Gültigkeitsdauer auf einen unbegrenzten Wert festlegen. Wenn die Gültigkeitsdauer abläuft, wird das Integritätsereignis, das die Integritätsinformationen enthält, entweder aus dem Integritätsspeicher entfernt, wenn RemoveWhenExpired true ist, oder bei Fehler ausgewertet, wenn RemoveWhenExpired false ist.

Gibt zurück:

Ein java.time.Duration , der die Gültigkeitsdauer des Integritätsberichts darstellt.

isRemoveWhenExpired

public boolean isRemoveWhenExpired()

Ruft einen Wert ab, der angibt, ob der Bericht nach Ablauf aus dem Integritätsspeicher entfernt wird. Wenn dieser Wert auf „false“ festgelegt ist, wird der Bericht als Fehler behandelt, wenn er abgelaufen ist. Der Standardwert ist FALSE.

Bemerkungen:Wenn Clients regelmäßig Berichte melden, sollten sie RemoveWhenExpired false (Standard) festlegen. Auf diese Weise hat der Reporter Probleme (z. B. Deadlock) und kann nicht melden, wird die Entität bei Ablauf des Integritätsberichts fehlerhaft ausgewertet, und dadurch wird die Entität als system.fabric.health.HealthState#Errorgekennzeichnet. Regelmäßige Integritätsclients sollten Berichte mit höherer Häufigkeit als die Laufzeit senden, um Verzögerungen aufgrund von Integritätsclientbatches, Nachrichtentransport über die Verbindung und Verarbeitung des Integritätsspeichers zu berücksichtigen.

Gibt zurück:

true, wenn der Bericht nach Ablauf aus dem Integritätsspeicher entfernt werden soll; andernfalls false.

setDescription

public void setDescription(String description)

Legt die Beschreibung der Integritätsinformationen fest. Hierbei handelt es sich um Freitext, mit dem von Menschen lesbare Informationen über den Bericht hinzugefügt werden können.

Bemerkungen:Die maximale Zeichenfolgenlänge für die Beschreibung beträgt 4096 Zeichen.

Parameter:

description - Eine Zeichenfolge, die die Integritätsinformationen in lesbarer Form beschreibt.

setRemoveWhenExpired

public void setRemoveWhenExpired(boolean removeWhenExpired)

Legt einen Wert fest, der angibt, ob der Bericht nach Ablauf aus dem Integritätsspeicher entfernt wird. Wenn dieser Wert auf „false“ festgelegt ist, wird der Bericht als Fehler behandelt, wenn er abgelaufen ist. Der Standardwert ist FALSE.

Bemerkungen:Wenn Clients regelmäßig Berichte melden, sollten sie RemoveWhenExpired false (Standard) festlegen. Auf diese Weise hat der Reporter Probleme (z. B. Deadlock) und kann nicht melden, wird die Entität bei Ablauf des Integritätsberichts fehlerhaft ausgewertet, und dadurch wird die Entität als system.fabric.health.HealthState#Errorgekennzeichnet. Regelmäßige Integritätsclients sollten Berichte mit höherer Häufigkeit als die Laufzeit senden, um Verzögerungen aufgrund von Integritätsclientbatches, Nachrichtentransport über die Verbindung und Verarbeitung des Integritätsspeichers zu berücksichtigen.

Parameter:

removeWhenExpired - true, wenn der Bericht nach Ablauf aus dem Integritätsspeicher entfernt werden soll; andernfalls false.

setSequenceNumber

public void setSequenceNumber(long sequenceNumber)

Legt die dem Bericht zugeordnete Sequenznummer fest. Muss größer sein als system.fabric.health.HealthInformation#unknownSequenceNumber.

Bemerkungen:Die Berichtssequenznummer wird vom Integritätsspeicher verwendet, um veraltete Berichte zu erkennen. In den meisten Zeiten muss der Reporter die Sequenznummer nicht angeben. Stattdessen kann der Standardwert AutoSequenceNumber verwendet werden. Wenn ein Integritätsclient einen Bericht mit automatischer Sequenznummer empfängt, ersetzt er die automatische Sequenznummer durch eine gültige Sequenznummer. Die Sequenznummer wird im selben Prozess garantiert erhöht, auch wenn die Clientcomputerzeit rückwärts geht.

Parameter:

sequenceNumber - Eine lange, die die Berichtssequenznummer darstellt.

Löst aus:

IllegalArgumentException - , wenn sequenceNumber kleiner oder gleich unknownSequenceNumber ist

setTimeToLiveSeconds

public void setTimeToLiveSeconds(Duration timeToLive)

Legt fest, wie lange der Integritätsbericht gültig ist. Muss größer als TimeSpan.Zero sein.

Bemerkungen:Wenn Clients in regelmäßigen Abständen Berichte melden, sollten sie Berichte mit höherer Häufigkeit als die Laufzeit senden. Wenn Clients Berichte zur Übertragung erstellen, können sie die Gültigkeitsdauer auf einen unbegrenzten Wert festlegen. Wenn die Gültigkeitsdauer abläuft, wird das Integritätsereignis, das die Integritätsinformationen enthält, entweder aus dem Integritätsspeicher entfernt, wenn RemoveWhenExpired true ist, oder bei Fehler ausgewertet, wenn RemoveWhenExpired false ist.

Parameter:

timeToLive - Ein java.time.Duration , der die Gültigkeitsdauer des Integritätsberichts darstellt.

Gilt für: