CorrelationRuleFilter Klasse
- java.
lang. Object - com.
azure. messaging. servicebus. administration. models. RuleFilter - com.
azure. messaging. servicebus. administration. models. CorrelationRuleFilter
- com.
- com.
public class CorrelationRuleFilter
extends RuleFilter
Stellt den Filterausdruck der Korrelationsregel dar. Es enthält eine Reihe von Bedingungen, die mit einer oder mehreren Benutzer- und Systemeigenschaften einer eingehenden Nachricht abgeglichen werden. Ein gängiger Anwendungsfall besteht darin, mit den Nachrichten abzugleichen:
- getCorrelationId()
- getContentType()
- getSubject()
- getMessageId()
- getReplyTo()
- getReplyToSessionId()
- getSessionId()
- getTo()
- oder getApplicationProperties()
Eine Übereinstimmung liegt vor, wenn der Wert einer Eigenschaft einer eingehenden Nachricht gleich dem im Korrelationsfilter angegebenen Wert ist. Für Zeichenfolgenausdrücke wird beim Vergleich die Groß-/Kleinschreibung beachtet. Beim Angeben mehrerer Übereinstimmungseigenschaften kombiniert der Filter diese als logische AND
Bedingung, was bedeutet, dass alle Bedingungen übereinstimmen müssen, damit der Filter übereinstimmen kann.
Dies bietet eine effiziente Verknüpfung für Deklarationen von Filtern, die sich nur mit Korrelationsgleichheit befassen. In diesem Fall können die Kosten für die lexikographische Analyse des Ausdrucks vermieden werden. Korrelationsfilter werden nicht nur zur Deklarationszeit optimiert, sondern auch zur Laufzeit optimiert. Korrelationsfilterabgleich kann auf eine Hashtabellensuche reduziert werden, die die Komplexität der Gruppe der definierten Korrelationsfilter auf O(1)
aggregiert.
Beispiel: Erstellen eines Themas, eines Abonnements und einer Regel
Im folgenden Codebeispiel wird die Erstellung eines Service Bus-Themas und -Abonnements veranschaulicht. Das Abonnement filtert nach Nachrichten mit einer Korrelations-ID "emails"
und hat eine "importance"
Eigenschaft auf "high"
festgelegt. Folglich werden alle Nachrichten mit hoher Wichtigkeit an das "high-importance-subscription"
Abonnement übermittelt. Weitere Informationen finden Sie unter Themenfilter .
String topicName = "my-new-topic";
TopicProperties topic = client.createTopic(topicName);
String subscriptionName = "high-importance-subscription";
String ruleName = "important-emails-filter";
CreateSubscriptionOptions subscriptionOptions = new CreateSubscriptionOptions()
.setMaxDeliveryCount(15)
.setLockDuration(Duration.ofMinutes(2));
CorrelationRuleFilter ruleFilter = new CorrelationRuleFilter()
.setCorrelationId("emails");
ruleFilter.getProperties().put("importance", "high");
CreateRuleOptions createRuleOptions = new CreateRuleOptions()
.setFilter(ruleFilter);
SubscriptionProperties subscription = client.createSubscription(topicName, subscriptionName, ruleName,
subscriptionOptions, createRuleOptions);
System.out.printf("Subscription created. Name: %s. Topic name: %s. Lock Duration: %s.%n",
subscription.getSubscriptionName(), subscription.getTopicName(), subscription.getLockDuration());
Zusammenfassung zum Konstruktor
Konstruktor | Beschreibung |
---|---|
CorrelationRuleFilter() |
Initialisiert eine neue instance von CorrelationRuleFilter mit Standardwerten. |
CorrelationRuleFilter(String correlationId) |
Initialisiert eine neue instance von CorrelationRuleFilter mit Standardwerten mit dem angegebenen Korrelationsbezeichner. |
Methodenzusammenfassung
Modifizierer und Typ | Methode und Beschreibung |
---|---|
boolean |
equals(Object other)
Vergleicht diesen Regelfilter |
String |
getContentType()
Ruft den Inhaltstyp der Nachricht ab. |
String |
getCorrelationId()
Ruft den Korrelationsbezeichner ab. |
String |
getLabel()
Ruft die anwendungsspezifische Bezeichnung ab. |
String |
getMessageId()
Ruft den Bezeichner für die Nachricht ab. |
Map<String,Object> |
getProperties()
Ruft anwendungsspezifische Eigenschaften der Nachricht ab. |
String |
getReplyTo()
Ruft die Adresse der Warteschlange oder des Abonnements ab, auf die zu antworten ist. |
String |
getReplyToSessionId()
Ruft den Sitzungsbezeichner ab, auf den antworten soll. |
String |
getSessionId()
Ruft den Sitzungsbezeichner ab. |
String |
getTo()
Ruft die Adresse ab, an die gesendet werden soll. |
int |
hashCode()
Gibt einen Hashcode für diesen Korrelationsregelfilter |
Correlation |
setContentType(String contentType)
Legt den Inhaltstyp der Nachricht fest. |
Correlation |
setCorrelationId(String correlationId)
Legt den Korrelationsbezeichner fest. |
Correlation |
setLabel(String label)
Legt die anwendungsspezifische Bezeichnung fest. |
Correlation |
setMessageId(String messageId)
Legt den Bezeichner für die Nachricht fest. |
Correlation |
setReplyTo(String replyTo)
Legt die Adresse der Warteschlange oder des Abonnements fest, an die bzw. das sie antworten sollen. |
Correlation |
setReplyToSessionId(String replyToSessionId)
Legt den Sitzungsbezeichner fest, auf den antworten soll. |
Correlation |
setSessionId(String sessionId)
Legt den Sitzungsbezeichner fest. |
Correlation |
setTo(String to)
Legt die Adresse fest, an die gesendet werden soll. |
String |
toString()
Konvertiert den Wert des aktuellen instance in die entsprechende Zeichenfolgendarstellung. |
Geerbte Methoden von java.lang.Object
Details zum Konstruktor
CorrelationRuleFilter
public CorrelationRuleFilter()
Initialisiert eine neue instance von CorrelationRuleFilter mit Standardwerten.
CorrelationRuleFilter
public CorrelationRuleFilter(String correlationId)
Initialisiert eine neue instance von CorrelationRuleFilter mit Standardwerten mit dem angegebenen Korrelationsbezeichner.
Parameters:
Details zur Methode
equals
public boolean equals(Object other)
Vergleicht diesen RuleFilter mit dem angegebenen Objekt. Das Ergebnis ist true, wenn und nur, wenn das Argument nicht NULL ist und ein CorrelationRuleFilter-Objekt ist, das die gleichen Parameter wie dieses Objekt aufweist.
Overrides:
CorrelationRuleFilter.equals(Object other)Parameters:
- das Objekt, mit dem der aktuelle CorrelationRuleFilter verglichen werden soll.
Returns:
getContentType
public String getContentType()
Ruft den Inhaltstyp der Nachricht ab.
Returns:
getCorrelationId
public String getCorrelationId()
Ruft den Korrelationsbezeichner ab.
Returns:
getLabel
public String getLabel()
Ruft die anwendungsspezifische Bezeichnung ab.
Returns:
getMessageId
public String getMessageId()
Ruft den Bezeichner für die Nachricht ab.
Returns:
getProperties
public Map
Ruft anwendungsspezifische Eigenschaften der Nachricht ab.
Returns:
getReplyTo
public String getReplyTo()
Ruft die Adresse der Warteschlange oder des Abonnements ab, auf die zu antworten ist.
Returns:
getReplyToSessionId
public String getReplyToSessionId()
Ruft den Sitzungsbezeichner ab, auf den antworten soll.
Returns:
getSessionId
public String getSessionId()
Ruft den Sitzungsbezeichner ab.
Returns:
getTo
public String getTo()
Ruft die Adresse ab, an die gesendet werden soll.
Returns:
hashCode
public int hashCode()
Gibt einen Hashcode für diesen CorrelationRuleFilter zurück.
Overrides:
CorrelationRuleFilter.hashCode()Returns:
setContentType
public CorrelationRuleFilter setContentType(String contentType)
Legt den Inhaltstyp der Nachricht fest.
Parameters:
Returns:
setCorrelationId
public CorrelationRuleFilter setCorrelationId(String correlationId)
Legt den Korrelationsbezeichner fest.
Parameters:
Returns:
setLabel
public CorrelationRuleFilter setLabel(String label)
Legt die anwendungsspezifische Bezeichnung fest.
Parameters:
Returns:
setMessageId
public CorrelationRuleFilter setMessageId(String messageId)
Legt den Bezeichner für die Nachricht fest.
Parameters:
Returns:
setReplyTo
public CorrelationRuleFilter setReplyTo(String replyTo)
Legt die Adresse der Warteschlange oder des Abonnements fest, an die bzw. das sie antworten sollen.
Parameters:
Returns:
setReplyToSessionId
public CorrelationRuleFilter setReplyToSessionId(String replyToSessionId)
Legt den Sitzungsbezeichner fest, auf den antworten soll. Die maximale Größe von replyToSessionId
ist 128.
Parameters:
Returns:
setSessionId
public CorrelationRuleFilter setSessionId(String sessionId)
Legt den Sitzungsbezeichner fest. Die maximale Größe von sessionId
beträgt 128 Zeichen.
Parameters:
Returns:
setTo
public CorrelationRuleFilter setTo(String to)
Legt die Adresse fest, an die gesendet werden soll.
Parameters:
Returns:
toString
public String toString()
Konvertiert den Wert des aktuellen instance in die entsprechende Zeichenfolgendarstellung.
Overrides:
CorrelationRuleFilter.toString()Returns:
Gilt für:
Azure SDK for Java
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für