Freigeben über


EventProcessorClientBuilder Klasse

  • java.lang.Object
    • com.azure.messaging.eventhubs.EventProcessorClientBuilder

Implementiert

public class EventProcessorClientBuilder
implements TokenCredentialTrait<EventProcessorClientBuilder>, AzureNamedKeyCredentialTrait<EventProcessorClientBuilder>, ConnectionStringTrait<EventProcessorClientBuilder>, AzureSasCredentialTrait<EventProcessorClientBuilder>, AmqpTrait<EventProcessorClientBuilder>, ConfigurationTrait<EventProcessorClientBuilder>

Diese Klasse stellt eine Fluent Builder-API bereit, um die Konfiguration und Instanziierung von EventProcessorClientzu unterstützen. Beim Aufrufen buildEventProcessorClient() wird eine neue instance von erstelltEventProcessorClient.

Um eine instance von EventProcessorClientzu erstellen, sind die folgenden Felder erforderlich:

Die in diesem Dokument gezeigten Beispiele verwenden ein Anmeldeinformationsobjekt namens DefaultAzureCredential für die Authentifizierung, das für die meisten Szenarien geeignet ist, einschließlich lokaler Entwicklungs- und Produktionsumgebungen. Darüber hinaus wird empfohlen, die verwaltete Identität für die Authentifizierung in Produktionsumgebungen zu verwenden. Weitere Informationen zu verschiedenen Authentifizierungsmethoden und den entsprechenden Anmeldeinformationstypen finden Sie in der Azure Identity-Dokumentation.

Beispiel: Erstellen eines EventProcessorClient

Im folgenden Codebeispiel wird die Erstellung des Prozessorclients veranschaulicht. Der Prozessorclient wird für Produktionsszenarien empfohlen, da er einen Lastenausgleich zwischen mehreren ausgeführten Instanzen durchführen, Prüfpunkte ausführen und bei vorübergehenden Fehlern, z. B. Netzwerkausfällen, eine erneute Verbindung herstellen kann. Im folgenden Beispiel wird ein Speicher im Arbeitsspeicher CheckpointStore verwendet, aber azure-messaging-eventhubs-checkpointstore-blob stellt einen Prüfpunktspeicher bereit, der von Azure Blob Storage unterstützt wird.

TokenCredential credential = new DefaultAzureCredentialBuilder().build();

 // "<<fully-qualified-namespace>>" will look similar to "{your-namespace}.servicebus.windows.net"
 // "<<event-hub-name>>" will be the name of the Event Hub instance you created inside the Event Hubs namespace.
 EventProcessorClient eventProcessorClient = new EventProcessorClientBuilder()
     .consumerGroup("<< CONSUMER GROUP NAME >>")
     .credential("<<fully-qualified-namespace>>", "<<event-hub-name>>",
         credential)
     .checkpointStore(new SampleCheckpointStore())
     .processEvent(eventContext -> {
         System.out.printf("Partition id = %s and sequence number of event = %s%n",
             eventContext.getPartitionContext().getPartitionId(),
             eventContext.getEventData().getSequenceNumber());
     })
     .processError(errorContext -> {
         System.out.printf("Error occurred in partition processor for partition %s, %s%n",
             errorContext.getPartitionContext().getPartitionId(),
             errorContext.getThrowable());
     })
     .buildEventProcessorClient();

Feldzusammenfassung

Modifizierer und Typ Feld und Beschreibung
static final Duration DEFAULT_LOAD_BALANCING_UPDATE_INTERVAL

Standardmäßiges Aktualisierungsintervall für den Lastenausgleich.

static final Duration DEFAULT_OWNERSHIP_EXPIRATION_INTERVAL

Standardbesitzablauf.

Zusammenfassung zum Konstruktor

Konstruktor Beschreibung
EventProcessorClientBuilder()

Erstellt eine neue Instanz von EventProcessorClientBuilder.

Methodenzusammenfassung

Modifizierer und Typ Methode und Beschreibung
EventProcessorClient buildEventProcessorClient()

Dadurch wird ein neues EventProcessorClient erstellt, das mit den in diesem Generator festgelegten Optionen konfiguriert ist.

EventProcessorClientBuilder checkpointStore(CheckpointStore checkpointStore)

Legt fest, CheckpointStore dass zum EventProcessorClient Speichern von Partitionsbesitz- und Prüfpunktinformationen verwendet wird.

EventProcessorClientBuilder clientOptions(ClientOptions clientOptions)

Legt die Clientoptionen für den Prozessorclient fest.

EventProcessorClientBuilder configuration(Configuration configuration)

Legt den Konfigurationsspeicher fest, der beim Erstellen des Dienstclients verwendet wird.

EventProcessorClientBuilder connectionString(String connectionString)

Legt die Anmeldeinformationen für eine Verbindungszeichenfolge auf die Event Hub-instance fest.

EventProcessorClientBuilder connectionString(String connectionString, String eventHubName)

Legt die Anmeldeinformationen für eine Verbindungszeichenfolge auf den Event Hubs-Namespace und den Namen auf einen bestimmten Event Hub-instance fest.

EventProcessorClientBuilder consumerGroup(String consumerGroup)

Legt den Namen der Consumergruppe fest, aus dem Ereignisse EventProcessorClient verwendet werden sollen.

EventProcessorClientBuilder credential(AzureNamedKeyCredential credential)

Legt die Anmeldeinformationen fest, für die Event Hub eine Verbindung herstellen instance und wie die Autorisierung dafür erfolgt.

EventProcessorClientBuilder credential(AzureSasCredential credential)

Legt die Anmeldeinformationen fest, für die Event Hub eine Verbindung herstellen instance und wie die Autorisierung dafür erfolgt.

EventProcessorClientBuilder credential(TokenCredential credential)

Legt den fest, der TokenCredential zum Autorisieren von Anforderungen verwendet wird, die an den Dienst gesendet werden.

EventProcessorClientBuilder credential(String fullyQualifiedNamespace, String eventHubName, AzureNamedKeyCredential credential)

Legt die Anmeldeinformationen fest, für die Event Hub eine Verbindung herstellen instance und wie die Autorisierung dafür erfolgt.

EventProcessorClientBuilder credential(String fullyQualifiedNamespace, String eventHubName, AzureSasCredential credential)

Legt die Anmeldeinformationen fest, für die Event Hub eine Verbindung herstellen instance und wie die Autorisierung dafür erfolgt.

EventProcessorClientBuilder credential(String fullyQualifiedNamespace, String eventHubName, TokenCredential credential)

Legt die Anmeldeinformationen fest, für die Event Hub eine Verbindung herstellen instance und wie die Autorisierung dafür erfolgt.

EventProcessorClientBuilder customEndpointAddress(String customEndpointAddress)

Legt eine benutzerdefinierte Endpunktadresse fest, wenn eine Verbindung mit dem Event Hubs-Dienst hergestellt wird.

EventProcessorClientBuilder eventHubName(String eventHubName)

Legt den Namen des Event Hub fest, mit dem der Client eine Verbindung herstellen soll.

EventProcessorClientBuilder fullyQualifiedNamespace(String fullyQualifiedNamespace)

Legt den vollqualifizierten Namen für den Event Hubs-Namespace fest.

EventProcessorClientBuilder initialPartitionEventPosition(Map<String,EventPosition> initialPartitionEventPosition)

Legt die Zuordnung mit der Ereignisposition fest, die für jede Partition verwendet werden soll, wenn in CheckpointStorekein Prüfpunkt für die Partition vorhanden ist.

EventProcessorClientBuilder initialPartitionEventPosition(Function<String,EventPosition> initialEventPositionProvider)

Legt die Standardstartposition für jede Partition fest, wenn kein Prüfpunkt für diese Partition in CheckpointStorevorhanden ist.

EventProcessorClientBuilder loadBalancingStrategy(LoadBalancingStrategy loadBalancingStrategy)

Die LoadBalancingStrategy wird EventProcessorClient zum Anfordern des Partitionsbesitzes verwendet.

EventProcessorClientBuilder loadBalancingUpdateInterval(Duration loadBalancingUpdateInterval)

Das Zeitintervall zwischen den Aktualisierungszyklen des Lastenausgleichs.

EventProcessorClientBuilder partitionOwnershipExpirationInterval(Duration partitionOwnershipExpirationInterval)

Die Zeitdauer, nach der der Besitz der Partition abläuft, wenn sie nicht vom besitzereigenen Prozessor instance erneuert wird.

EventProcessorClientBuilder prefetchCount(int prefetchCount)

Legt die Anzahl fest, die von den Empfängern verwendet wird, um die Anzahl der Ereignisse zu steuern, die jeder Consumer aktiv empfängt und sich lokal in eine Warteschlange stellt, ohne zu berücksichtigen, ob ein Empfangsvorgang derzeit aktiv ist.

EventProcessorClientBuilder processError(Consumer<ErrorContext> processError)

Die Funktion, die aufgerufen wird, wenn bei der Verarbeitung von Ereignissen ein Fehler auftritt.

EventProcessorClientBuilder processEvent(Consumer<EventContext> processEvent)

Die Funktion, die für jedes ereignis aufgerufen wird, das von diesem EventProcessorClientempfangen wird.

EventProcessorClientBuilder processEvent(Consumer<EventContext> processEvent, Duration maxWaitTime)

Die Funktion, die für jedes ereignis aufgerufen wird, das von diesem EventProcessorClientempfangen wird.

EventProcessorClientBuilder processEventBatch(Consumer<EventBatchContext> processEventBatch, int maxBatchSize)

Die Funktion, die für jedes ereignis aufgerufen wird, das von diesem EventProcessorClientempfangen wird.

EventProcessorClientBuilder processEventBatch(Consumer<EventBatchContext> processEventBatch, int maxBatchSize, Duration maxWaitTime)

Die Funktion, die für jedes ereignis aufgerufen wird, das von diesem EventProcessorClientempfangen wird.

EventProcessorClientBuilder processPartitionClose(Consumer<CloseContext> closePartition)

Die Funktion, die aufgerufen wird, wenn eine Verarbeitung für eine Partition beendet wird.

EventProcessorClientBuilder processPartitionInitialization(Consumer<InitializationContext> initializePartition)

Die Funktion, die aufgerufen wird, bevor die Verarbeitung für eine Partition gestartet wird.

EventProcessorClientBuilder proxyOptions(ProxyOptions proxyOptions)

Legt die Proxykonfiguration fest, die für EventHubAsyncClientverwendet werden soll.

EventProcessorClientBuilder retry(AmqpRetryOptions retryOptions)

Als veraltet markiert

Legt die Wiederholungsrichtlinie für EventHubAsyncClientfest.

EventProcessorClientBuilder retryOptions(AmqpRetryOptions retryOptions)

Legt die Wiederholungsrichtlinie für EventHubAsyncClientfest.

EventProcessorClientBuilder trackLastEnqueuedEventProperties(boolean trackLastEnqueuedEventProperties)

Legt fest, ob der Ereignisprozessor Informationen zum zuletzt in die Warteschlange gestellten Ereignis auf der zugeordneten Partition anfordern und diese Informationen beim Empfang von Ereignissen nachverfolgen soll.

EventProcessorClientBuilder transportType(AmqpTransportType transport)

Legt den Transporttyp fest, mit dem die gesamte Kommunikation mit Azure Event Hubs erfolgt.

Geerbte Methoden von java.lang.Object

Felddetails

DEFAULT_LOAD_BALANCING_UPDATE_INTERVAL

public static final Duration DEFAULT_LOAD_BALANCING_UPDATE_INTERVAL

Standardmäßiges Aktualisierungsintervall für den Lastenausgleich. Das Ausgleichsintervall sollte die Latenz zwischen dem Client und dem Speicherkonto berücksichtigen.

DEFAULT_OWNERSHIP_EXPIRATION_INTERVAL

public static final Duration DEFAULT_OWNERSHIP_EXPIRATION_INTERVAL

Standardbesitzablauf.

Details zum Konstruktor

EventProcessorClientBuilder

public EventProcessorClientBuilder()

Erstellt eine neue Instanz von EventProcessorClientBuilder.

Details zur Methode

buildEventProcessorClient

public EventProcessorClient buildEventProcessorClient()

Dadurch wird ein neues EventProcessorClient erstellt, das mit den in diesem Generator festgelegten Optionen konfiguriert ist. Jeder Aufruf dieser Methode gibt einen neuen instance von EventProcessorClientzurück.

Alle von diesem EventProcessorClient verarbeiteten Partitionen beginnen mit der Verarbeitung des verfügbaren earliest() Ereignisses in den jeweiligen Partitionen.

Returns:

Eine neue Instanz von EventProcessorClient.

checkpointStore

public EventProcessorClientBuilder checkpointStore(CheckpointStore checkpointStore)

Legt fest, CheckpointStore dass zum EventProcessorClient Speichern von Partitionsbesitz- und Prüfpunktinformationen verwendet wird.

Benutzer können optional ihre eigene Implementierung bereitstellen, in der CheckpointStore Besitzer- und Prüfpunktinformationen gespeichert werden.

Parameters:

checkpointStore - Implementierung von CheckpointStore.

Returns:

Die aktualisierte EventProcessorClientBuilder instance.

clientOptions

public EventProcessorClientBuilder clientOptions(ClientOptions clientOptions)

Legt die Clientoptionen für den Prozessorclient fest. Die für die Clientoptionen festgelegte Anwendungs-ID wird für die Ablaufverfolgung verwendet. Die für festgelegten ClientOptions Header werden derzeit nicht verwendet, können aber in späteren Versionen zum Hinzufügen einer AMQP-Nachricht verwendet werden.

Parameters:

clientOptions - Die Clientoptionen.

Returns:

Das aktualisierte EventProcessorClientBuilder Objekt.

configuration

public EventProcessorClientBuilder configuration(Configuration configuration)

Legt den Konfigurationsspeicher fest, der beim Erstellen des Dienstclients verwendet wird. Falls nicht angegeben, wird der Standardkonfigurationsspeicher verwendet, um den EventHubAsyncClientzu konfigurieren. Verwenden Sie NONE , um die Verwendung von Konfigurationseinstellungen während der Konstruktion zu umgehen.

Parameters:

configuration - Der Konfigurationsspeicher, der zum Konfigurieren von EventHubAsyncClientverwendet wird.

Returns:

Das aktualisierte EventProcessorClientBuilder Objekt.

connectionString

public EventProcessorClientBuilder connectionString(String connectionString)

Legt die Anmeldeinformationen für eine Verbindungszeichenfolge auf die Event Hub-instance fest.

Wenn die Verbindungszeichenfolge aus dem Event Hubs-Namespace kopiert wird, enthält sie wahrscheinlich nicht den Namen für den gewünschten Event Hub, der benötigt wird. In diesem Fall kann der Name manuell hinzugefügt werden, indem am Ende der Verbindungszeichenfolge "EntityPath=EVENT_HUB_NAME" hinzugefügt wird. Beispiel: "EntityPath=telemetry-hub".

Wenn Sie eine Shared Access-Richtlinie direkt im Event Hub selbst definiert haben, führt das Kopieren der Verbindungszeichenfolge aus diesem Event Hub zu einer Verbindungszeichenfolge, die den Namen enthält.

Parameters:

connectionString - Die Verbindungszeichenfolge, die zum Herstellen einer Verbindung mit dem Event Hub-instance verwendet werden soll. Es wird erwartet, dass der Event Hub-Name und die Shared Access Key-Eigenschaften in dieser Verbindungszeichenfolge enthalten sind.

Returns:

Das aktualisierte EventProcessorClientBuilder Objekt.

connectionString

public EventProcessorClientBuilder connectionString(String connectionString, String eventHubName)

Legt die Anmeldeinformationen für eine Verbindungszeichenfolge auf den Event Hubs-Namespace und den Namen auf einen bestimmten Event Hub-instance fest.

Parameters:

connectionString - Die Verbindungszeichenfolge, die zum Herstellen einer Verbindung mit dem Event Hubs-Namespace verwendet werden soll; Es wird erwartet, dass die Eigenschaften des freigegebenen Zugriffsschlüssels in dieser Verbindungszeichenfolge enthalten sind, aber nicht der Event Hub-Name.
eventHubName - Der Name des Event Hubs, mit dem der Client eine Verbindung herstellt.

Returns:

Das aktualisierte EventProcessorClientBuilder Objekt.

consumerGroup

public EventProcessorClientBuilder consumerGroup(String consumerGroup)

Legt den Namen der Consumergruppe fest, aus dem Ereignisse EventProcessorClient verwendet werden sollen.

Parameters:

consumerGroup - Der Consumergruppenname, der EventProcessorClient Ereignisse nutzen soll.

Returns:

Die aktualisierte EventProcessorClientBuilder instance.

credential

public EventProcessorClientBuilder credential(AzureNamedKeyCredential credential)

Legt die Anmeldeinformationen fest, für die Event Hub eine Verbindung herstellen instance und wie die Autorisierung dafür erfolgt.

Parameters:

credential - Der Name des freigegebenen Zugriffs und die Schlüsselanmeldeinformationen, die für die Autorisierung verwendet werden sollen. Zugriffssteuerungen können je nach Azure-Konfiguration vom Event Hubs-Namespace oder vom angeforderten Event Hub angegeben werden.

Returns:

Das aktualisierte EventProcessorClientBuilder Objekt.

credential

public EventProcessorClientBuilder credential(AzureSasCredential credential)

Legt die Anmeldeinformationen fest, für die Event Hub eine Verbindung herstellen instance und wie die Autorisierung dafür erfolgt.

Parameters:

credential - Die Anmeldeinformationen der Shared Access Signature, die für die Autorisierung verwendet werden sollen. Zugriffssteuerungen können je nach Azure-Konfiguration vom Event Hubs-Namespace oder vom angeforderten Event Hub angegeben werden.

Returns:

Das aktualisierte EventProcessorClientBuilder Objekt.

credential

public EventProcessorClientBuilder credential(TokenCredential credential)

Legt den fest, der TokenCredential zum Autorisieren von Anforderungen verwendet wird, die an den Dienst gesendet werden. Weitere Informationen zur ordnungsgemäßen Verwendung des Typs finden Sie in der Dokumentation zur Identität und Authentifizierung des TokenCredential Azure SDK für Java.

Parameters:

credential - Die Tokenanmeldeinformationen, die für die Autorisierung verwendet werden sollen. Zugriffssteuerungen können je nach Azure-Konfiguration vom Event Hubs-Namespace oder vom angeforderten Event Hub angegeben werden.

Returns:

Das aktualisierte EventProcessorClientBuilder Objekt.

credential

public EventProcessorClientBuilder credential(String fullyQualifiedNamespace, String eventHubName, AzureNamedKeyCredential credential)

Legt die Anmeldeinformationen fest, für die Event Hub eine Verbindung herstellen instance und wie die Autorisierung dafür erfolgt.

Parameters:

fullyQualifiedNamespace - Der vollqualifizierte Name für den Event Hubs-Namespace. Dies ähnelt wahrscheinlich "{your-namespace}.servicebus.windows.net".
eventHubName - Der Name des Event Hubs, mit dem der Client eine Verbindung herstellt.
credential - Der Name des freigegebenen Zugriffs und die Schlüsselanmeldeinformationen, die für die Autorisierung verwendet werden sollen. Zugriffssteuerungen können je nach Azure-Konfiguration vom Event Hubs-Namespace oder vom angeforderten Event Hub angegeben werden.

Returns:

Das aktualisierte EventProcessorClientBuilder Objekt.

credential

public EventProcessorClientBuilder credential(String fullyQualifiedNamespace, String eventHubName, AzureSasCredential credential)

Legt die Anmeldeinformationen fest, für die Event Hub eine Verbindung herstellen instance und wie die Autorisierung dafür erfolgt.

Parameters:

fullyQualifiedNamespace - Der vollqualifizierte Name für den Event Hubs-Namespace. Dies ähnelt wahrscheinlich "{your-namespace}.servicebus.windows.net".
eventHubName - Der Name des Event Hubs, mit dem der Client eine Verbindung herstellt.
credential - Die Anmeldeinformationen der Shared Access Signature, die für die Autorisierung verwendet werden sollen. Zugriffssteuerungen können je nach Azure-Konfiguration vom Event Hubs-Namespace oder vom angeforderten Event Hub angegeben werden.

Returns:

Das aktualisierte EventProcessorClientBuilder Objekt.

credential

public EventProcessorClientBuilder credential(String fullyQualifiedNamespace, String eventHubName, TokenCredential credential)

Legt die Anmeldeinformationen fest, für die Event Hub eine Verbindung herstellen instance und wie die Autorisierung dafür erfolgt.

Parameters:

fullyQualifiedNamespace - Der vollqualifizierte Name für den Event Hubs-Namespace. Dies ähnelt wahrscheinlich "{your-namespace}.servicebus.windows.net".
eventHubName - Der Name des Event Hubs, mit dem der Client eine Verbindung herstellt.
credential - Die Tokenanmeldeinformationen, die für die Autorisierung verwendet werden sollen. Zugriffssteuerungen können je nach Azure-Konfiguration vom Event Hubs-Namespace oder vom angeforderten Event Hub angegeben werden.

Returns:

Das aktualisierte EventProcessorClientBuilder Objekt.

customEndpointAddress

public EventProcessorClientBuilder customEndpointAddress(String customEndpointAddress)

Legt eine benutzerdefinierte Endpunktadresse fest, wenn eine Verbindung mit dem Event Hubs-Dienst hergestellt wird. Dies kann nützlich sein, wenn Ihr Netzwerk keine Verbindung mit der Standard-Azure Event Hubs-Endpunktadresse zulässt, aber eine Verbindung über einen Vermittler zulässt. Beispiel: https://my.custom.endpoint.com:55300.

Wenn kein Port angegeben ist, wird der Standardport für den transportType(AmqpTransportType transport) verwendet.

Parameters:

customEndpointAddress - Die benutzerdefinierte Endpunktadresse.

Returns:

Das aktualisierte EventProcessorClientBuilder Objekt.

eventHubName

public EventProcessorClientBuilder eventHubName(String eventHubName)

Legt den Namen des Event Hub fest, mit dem der Client eine Verbindung herstellen soll.

Parameters:

eventHubName - Der Name des Event Hubs, mit dem der Client eine Verbindung herstellt.

Returns:

Das aktualisierte EventProcessorClientBuilder Objekt.

fullyQualifiedNamespace

public EventProcessorClientBuilder fullyQualifiedNamespace(String fullyQualifiedNamespace)

Legt den vollqualifizierten Namen für den Event Hubs-Namespace fest.

Parameters:

fullyQualifiedNamespace - Der vollqualifizierte Name für den Event Hubs-Namespace. Dies ähnelt wahrscheinlich "{your-namespace}.servicebus.windows.net".

Returns:

Das aktualisierte EventProcessorClientBuilder Objekt.

initialPartitionEventPosition

public EventProcessorClientBuilder initialPartitionEventPosition(Map initialPartitionEventPosition)

Legt die Zuordnung mit der Ereignisposition fest, die für jede Partition verwendet werden soll, wenn in CheckpointStorekein Prüfpunkt für die Partition vorhanden ist. Diese Zuordnung wird von der Partitions-ID abgeschlüsselt.

Beim Erstellen von EventProcessorClientsollte nur eine Überladung von initialPartitionEventPosition verwendet werden.

Parameters:

initialPartitionEventPosition - Zuordnung der anfänglichen Ereignispositionen für Partitions-IDs.

Returns:

Die aktualisierte EventProcessorClientBuilder instance.

initialPartitionEventPosition

public EventProcessorClientBuilder initialPartitionEventPosition(Function initialEventPositionProvider)

Legt die Standardstartposition für jede Partition fest, wenn kein Prüfpunkt für diese Partition in CheckpointStorevorhanden ist.

Beim Erstellen von EventProcessorClientsollte nur eine Überladung von initialPartitionEventPosition verwendet werden.

Parameters:

initialEventPositionProvider - Funktion, die das angegebene partitionId einem EventPositionzuordnet.

Returns:

Die aktualisierte EventProcessorClientBuilder instance.

loadBalancingStrategy

public EventProcessorClientBuilder loadBalancingStrategy(LoadBalancingStrategy loadBalancingStrategy)

Die LoadBalancingStrategy wird EventProcessorClient zum Anfordern des Partitionsbesitzes verwendet. Standardmäßig wird ein BALANCED Ansatz verwendet.

Parameters:

loadBalancingStrategy - Der zu verwendende LoadBalancingStrategy.

Returns:

Die aktualisierte EventProcessorClientBuilder instance.

loadBalancingUpdateInterval

public EventProcessorClientBuilder loadBalancingUpdateInterval(Duration loadBalancingUpdateInterval)

Das Zeitintervall zwischen den Aktualisierungszyklen des Lastenausgleichs. Dies ist im Allgemeinen auch das Intervall, in dem der Besitz von Partitionen erneuert wird. Standardmäßig ist dieses Intervall auf 10 Sekunden festgelegt.

Parameters:

loadBalancingUpdateInterval - Die Zeitdauer zwischen Den Lastenausgleichsaktualisierungszyklen.

Returns:

Die aktualisierte EventProcessorClientBuilder instance.

partitionOwnershipExpirationInterval

public EventProcessorClientBuilder partitionOwnershipExpirationInterval(Duration partitionOwnershipExpirationInterval)

Die Zeitdauer, nach der der Besitz der Partition abläuft, wenn sie nicht vom besitzereigenen Prozessor instance erneuert wird. Dies ist die Dauer, die dieser Prozessor instance wartet, bevor er den Besitz von Partitionen übernimmt, die zuvor einem inaktiven Prozessor gehörten. Standardmäßig ist diese Dauer auf eine Minute festgelegt.

Parameters:

partitionOwnershipExpirationInterval - Die Zeitdauer, nach der der Besitz der Partition abläuft.

Returns:

Die aktualisierte EventProcessorClientBuilder instance.

prefetchCount

public EventProcessorClientBuilder prefetchCount(int prefetchCount)

Legt die Anzahl fest, die von den Empfängern verwendet wird, um die Anzahl der Ereignisse zu steuern, die jeder Consumer aktiv empfängt und sich lokal in eine Warteschlange stellt, ohne zu berücksichtigen, ob ein Empfangsvorgang derzeit aktiv ist.

Parameters:

prefetchCount - Die Anzahl der Ereignisse, die lokal in die Warteschlange gestellt werden sollen.

Returns:

Das aktualisierte EventHubClientBuilder Objekt.

processError

public EventProcessorClientBuilder processError(Consumer processError)

Die Funktion, die aufgerufen wird, wenn bei der Verarbeitung von Ereignissen ein Fehler auftritt. Die Eingabe enthält die Partitionsinformationen, an denen der Fehler aufgetreten ist.

Parameters:

processError - Der Rückruf, der aufgerufen wird, wenn bei der Verarbeitung von Ereignissen ein Fehler auftritt.

Returns:

Die aktualisierte EventProcessorClientBuilder instance.

processEvent

public EventProcessorClientBuilder processEvent(Consumer processEvent)

Die Funktion, die für jedes ereignis aufgerufen wird, das von diesem EventProcessorClientempfangen wird. Die Eingabe enthält den Partitionskontext und die Ereignisdaten.

Parameters:

processEvent - Der Rückruf, der aufgerufen wird, wenn ein Ereignis von diesem EventProcessorClientempfangen wird.

Returns:

Die aktualisierte EventProcessorClientBuilder instance.

processEvent

public EventProcessorClientBuilder processEvent(Consumer processEvent, Duration maxWaitTime)

Die Funktion, die für jedes ereignis aufgerufen wird, das von diesem EventProcessorClientempfangen wird. Die Eingabe enthält den Partitionskontext und die Ereignisdaten. Wenn die maximale Wartezeit festgelegt ist, wartet der Empfang auf diese Dauer, bis ein Ereignis empfangen wird, und wenn kein Ereignis empfangen wird, wird der Consumer mit null-Ereignisdaten aufgerufen.

Parameters:

processEvent - Der Rückruf, der aufgerufen wird, wenn ein Ereignis von diesem EventProcessorClient empfangen wird oder wenn die maximale Wartezeit abgelaufen ist.
maxWaitTime - Die maximale Zeitdauer für das Warten auf den Empfang eines Ereignisses vor dem Aufrufen dieses Handlers.

Returns:

Die aktualisierte EventProcessorClient instance.

processEventBatch

public EventProcessorClientBuilder processEventBatch(Consumer processEventBatch, int maxBatchSize)

Die Funktion, die für jedes ereignis aufgerufen wird, das von diesem EventProcessorClientempfangen wird. Die Eingabe enthält den Partitionskontext und die Ereignisdaten. Wenn die maximale Wartezeit festgelegt ist, wartet der Empfang auf diese Dauer, bis ein Ereignis empfangen wird, und wenn kein Ereignis empfangen wird, wird der Consumer mit null-Ereignisdaten aufgerufen.

Parameters:

processEventBatch - Der Rückruf, der aufgerufen wird, wenn ein Ereignis von diesem EventProcessorClient empfangen wird oder wenn die maximale Wartezeit abgelaufen ist.
maxBatchSize - Die maximale Anzahl von Ereignissen, die in der Liste enthalten sind, wenn dieser Rückruf aufgerufen wird.

Returns:

Die aktualisierte EventProcessorClient instance.

processEventBatch

public EventProcessorClientBuilder processEventBatch(Consumer processEventBatch, int maxBatchSize, Duration maxWaitTime)

Die Funktion, die für jedes ereignis aufgerufen wird, das von diesem EventProcessorClientempfangen wird. Die Eingabe enthält den Partitionskontext und die Ereignisdaten. Wenn die maximale Wartezeit festgelegt ist, wartet der Empfang auf diese Dauer, bis ein Ereignis empfangen wird, und wenn kein Ereignis empfangen wird, wird der Consumer mit null-Ereignisdaten aufgerufen.

TokenCredential credential = new DefaultAzureCredentialBuilder().build();

 // "<<fully-qualified-namespace>>" will look similar to "{your-namespace}.servicebus.windows.net"
 // "<<event-hub-name>>" will be the name of the Event Hub instance you created inside the Event Hubs namespace.
 EventProcessorClient eventProcessorClient = new EventProcessorClientBuilder()
     .consumerGroup(EventHubClientBuilder.DEFAULT_CONSUMER_GROUP_NAME)
     .checkpointStore(new SampleCheckpointStore())
     .processEventBatch(eventBatchContext -> {
         eventBatchContext.getEvents().forEach(eventData -> {
             System.out.printf("Partition id = %s and sequence number of event = %s%n",
                 eventBatchContext.getPartitionContext().getPartitionId(),
                 eventData.getSequenceNumber());
         });
     }, 50, Duration.ofSeconds(30))
     .processError(errorContext -> {
         System.out.printf("Error occurred in partition processor for partition %s, %s%n",
             errorContext.getPartitionContext().getPartitionId(),
             errorContext.getThrowable());
     })
     .buildEventProcessorClient();

Parameters:

processEventBatch - Der Rückruf, der aufgerufen wird, wenn ein Ereignis empfangen wird oder wenn die maximale Wartezeit abgelaufen ist.
maxBatchSize - Die maximale Anzahl von Ereignissen, die in der Liste enthalten sind, wenn dieser Rückruf aufgerufen wird.
maxWaitTime - Die maximale Zeitdauer für das Warten auf einen Batch mit Ereignissen bis zur maximalen Batchgröße, bevor dieser Rückruf aufgerufen wird.

Returns:

Die aktualisierte EventProcessorClient instance.

processPartitionClose

public EventProcessorClientBuilder processPartitionClose(Consumer closePartition)

Die Funktion, die aufgerufen wird, wenn eine Verarbeitung für eine Partition beendet wird. Die Eingabe enthält die Partitionsinformationen sowie den Grund für das Beenden der Ereignisverarbeitung für diese Partition.

Parameters:

closePartition - Der Rückruf, der nach der Verarbeitung für eine Partition aufgerufen wird, wird beendet.

Returns:

Die aktualisierte EventProcessorClientBuilder instance.

processPartitionInitialization

public EventProcessorClientBuilder processPartitionInitialization(Consumer initializePartition)

Die Funktion, die aufgerufen wird, bevor die Verarbeitung für eine Partition gestartet wird. Die Eingabe enthält die Partitionsinformationen zusammen mit einer Standardstartposition für die Verarbeitung von Ereignissen, die verwendet werden, wenn ein Prüfpunkt in CheckpointStorenicht verfügbar ist. Benutzer können diese Position aktualisieren, wenn eine andere Startposition bevorzugt wird.

Parameters:

initializePartition - Der Rückruf, der aufgerufen wird, bevor die Verarbeitung für eine Partition gestartet wird

Returns:

Die aktualisierte EventProcessorClientBuilder instance.

proxyOptions

public EventProcessorClientBuilder proxyOptions(ProxyOptions proxyOptions)

Legt die Proxykonfiguration fest, die für EventHubAsyncClientverwendet werden soll. Wenn ein Proxy konfiguriert ist, AMQP_WEB_SOCKETS muss für den Transporttyp verwendet werden.

Parameters:

proxyOptions - Die zu verwendenden Proxyoptionen.

Returns:

Das aktualisierte EventProcessorClientBuilder Objekt.

retry

@Deprecated
public EventProcessorClientBuilder retry(AmqpRetryOptions retryOptions)

Als veraltet markiert

Legt die Wiederholungsrichtlinie für EventHubAsyncClientfest. Falls nicht angegeben, werden die Standard-Wiederholungsoptionen verwendet.

Parameters:

retryOptions - Die zu verwendende Wiederholungsrichtlinie.

Returns:

Das aktualisierte EventProcessorClientBuilder Objekt.

retryOptions

public EventProcessorClientBuilder retryOptions(AmqpRetryOptions retryOptions)

Legt die Wiederholungsrichtlinie für EventHubAsyncClientfest. Falls nicht angegeben, werden die Standard-Wiederholungsoptionen verwendet.

Parameters:

retryOptions - Die zu verwendenden Wiederholungsoptionen.

Returns:

Das aktualisierte EventProcessorClientBuilder Objekt.

trackLastEnqueuedEventProperties

public EventProcessorClientBuilder trackLastEnqueuedEventProperties(boolean trackLastEnqueuedEventProperties)

Legt fest, ob der Ereignisprozessor Informationen zum letzten in die Warteschlange gestellten Ereignis auf der zugeordneten Partition anfordern soll, und verfolgt diese Informationen, wenn Ereignisse empfangen werden.

Wenn Informationen zum zuletzt in Warteschlange gestellten Ereignis der Partition nachverfolgt werden, enthält jedes ereignis, das vom Event Hubs-Dienst empfangen wird, Metadaten über die Partition, die andernfalls nicht angezeigt würde. Dies führt zu einem geringen zusätzlichen Netzwerkbandbreitenverbrauch, der in der Regel ein günstiger Kompromiss ist, wenn er bei regelmäßigen Anforderungen für Partitionseigenschaften mithilfe des Event Hub-Clients berücksichtigt wird.

Parameters:

trackLastEnqueuedEventProperties - true , wenn die resultierenden Ereignisse die zuletzt in die Warteschlange gestellten Informationen für diese Partition nachverfolgen; false Andernfalls.

Returns:

Die aktualisierte EventProcessorClientBuilder instance.

transportType

public EventProcessorClientBuilder transportType(AmqpTransportType transport)

Legt den Transporttyp fest, mit dem die gesamte Kommunikation mit Azure Event Hubs erfolgt. Der Standardwert ist AMQP.

Parameters:

transport - Der zu verwendende Transporttyp.

Returns:

Das aktualisierte EventProcessorClientBuilder Objekt.

Gilt für: