EventProcessorClientBuilder Klasse
- java.
lang. Object - com.
azure. messaging. eventhubs. EventProcessorClientBuilder
- com.
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:
CheckpointStore – Eine Implementierung von CheckpointStore, die Informationen zum Besitz von Prüfpunkten und Partitionen speichert, um den Lastenausgleich und das Prüfpunkting verarbeiteter Ereignisse zu ermöglichen.
processEvent(Consumer<EventContext> processEvent) oder processEventBatch(Consumer<EventBatchContext> processEventBatch, int maxBatchSize, Duration maxWaitTime) : Ein Rückruf, der Ereignisse verarbeitet, die vom Event Hub empfangen wurden.
processError(Consumer<ErrorContext> processError) – Ein Rückruf, der Fehler behandelt, die beim Ausführen des EventProcessorClients auftreten können.
Anmeldeinformationen zum Ausführen von Vorgängen für Azure Event Hubs. Sie können mit einer der folgenden Methoden festgelegt werden:
- connectionString(String connectionString) mit einer Verbindungszeichenfolge zu einem bestimmten Event Hub.
- connectionString(String connectionString, String eventHubName) mit einer Event Hub-Namespace-Verbindungszeichenfolge und dem Event Hub-Namen.
- credential(String fullyQualifiedNamespace, String eventHubName, TokenCredential credential) mit dem vollqualifizierten Namespace, dem Event Hub-Namen und einer Reihe von Anmeldeinformationen, die für die Verwendung des Event Hubs autorisiert sind.
- credential(TokenCredential credential), credential(AzureSasCredential credential)oder credential(AzureNamedKeyCredential credential) zusammen mit fullyQualifiedNamespace(String fullyQualifiedNamespace) und eventHubName(String eventHubName). Der vollqualifizierte Namespace, Event Hub-Name und autorisierte Anmeldeinformationen für die Verwendung des Event Hubs.
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 |
|---|---|
|
Event |
buildEventProcessorClient()
Dadurch wird ein neues EventProcessorClient erstellt, das mit den in diesem Generator festgelegten Optionen konfiguriert ist. |
|
Event |
checkpointStore(CheckpointStore checkpointStore)
Legt fest, CheckpointStore dass zum EventProcessorClient Speichern von Partitionsbesitz- und Prüfpunktinformationen verwendet wird. |
|
Event |
clientOptions(ClientOptions clientOptions)
Legt die Clientoptionen für den Prozessorclient fest. |
|
Event |
configuration(Configuration configuration)
Legt den Konfigurationsspeicher fest, der beim Erstellen des Dienstclients verwendet wird. |
|
Event |
connectionString(String connectionString)
Legt die Anmeldeinformationen für eine Verbindungszeichenfolge auf die Event Hub-instance fest. |
|
Event |
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. |
|
Event |
consumerGroup(String consumerGroup)
Legt den Namen der Consumergruppe fest, aus dem Ereignisse EventProcessorClient verwendet werden sollen. |
|
Event |
credential(AzureNamedKeyCredential credential)
Legt die Anmeldeinformationen fest, für die Event Hub eine Verbindung herstellen instance und wie die Autorisierung dafür erfolgt. |
|
Event |
credential(AzureSasCredential credential)
Legt die Anmeldeinformationen fest, für die Event Hub eine Verbindung herstellen instance und wie die Autorisierung dafür erfolgt. |
|
Event |
credential(TokenCredential credential)
Legt den fest, der TokenCredential zum Autorisieren von Anforderungen verwendet wird, die an den Dienst gesendet werden. |
|
Event |
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. |
|
Event |
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. |
|
Event |
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. |
|
Event |
customEndpointAddress(String customEndpointAddress)
Legt eine benutzerdefinierte Endpunktadresse fest, wenn eine Verbindung mit dem Event Hubs-Dienst hergestellt wird. |
|
Event |
eventHubName(String eventHubName)
Legt den Namen des Event Hub fest, mit dem der Client eine Verbindung herstellen soll. |
|
Event |
fullyQualifiedNamespace(String fullyQualifiedNamespace)
Legt den vollqualifizierten Namen für den Event Hubs-Namespace fest. |
|
Event |
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. |
|
Event |
initialPartitionEventPosition(Function<String,EventPosition> initialEventPositionProvider)
Legt die Standardstartposition für jede Partition fest, wenn kein Prüfpunkt für diese Partition in CheckpointStorevorhanden ist. |
|
Event |
loadBalancingStrategy(LoadBalancingStrategy loadBalancingStrategy)
Die LoadBalancingStrategy wird EventProcessorClient zum Anfordern des Partitionsbesitzes verwendet. |
|
Event |
loadBalancingUpdateInterval(Duration loadBalancingUpdateInterval)
Das Zeitintervall zwischen den Aktualisierungszyklen des Lastenausgleichs. |
|
Event |
partitionOwnershipExpirationInterval(Duration partitionOwnershipExpirationInterval)
Die Zeitdauer, nach der der Besitz der Partition abläuft, wenn sie nicht vom besitzereigenen Prozessor instance erneuert wird. |
|
Event |
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. |
|
Event |
processError(Consumer<ErrorContext> processError)
Die Funktion, die aufgerufen wird, wenn bei der Verarbeitung von Ereignissen ein Fehler auftritt. |
|
Event |
processEvent(Consumer<EventContext> processEvent)
Die Funktion, die für jedes ereignis aufgerufen wird, das von diesem EventProcessorClientempfangen wird. |
|
Event |
processEvent(Consumer<EventContext> processEvent, Duration maxWaitTime)
Die Funktion, die für jedes ereignis aufgerufen wird, das von diesem EventProcessorClientempfangen wird. |
|
Event |
processEventBatch(Consumer<EventBatchContext> processEventBatch, int maxBatchSize)
Die Funktion, die für jedes ereignis aufgerufen wird, das von diesem EventProcessorClientempfangen wird. |
|
Event |
processEventBatch(Consumer<EventBatchContext> processEventBatch, int maxBatchSize, Duration maxWaitTime)
Die Funktion, die für jedes ereignis aufgerufen wird, das von diesem EventProcessorClientempfangen wird. |
|
Event |
processPartitionClose(Consumer<CloseContext> closePartition)
Die Funktion, die aufgerufen wird, wenn eine Verarbeitung für eine Partition beendet wird. |
|
Event |
processPartitionInitialization(Consumer<InitializationContext> initializePartition)
Die Funktion, die aufgerufen wird, bevor die Verarbeitung für eine Partition gestartet wird. |
|
Event |
proxyOptions(ProxyOptions proxyOptions)
Legt die Proxykonfiguration fest, die für EventHubAsyncClientverwendet werden soll. |
|
Event |
retry(AmqpRetryOptions retryOptions)
Als veraltet markiert
Ersetzt durch retryOptions(AmqpRetryOptions retryOptions).
Legt die Wiederholungsrichtlinie für EventHubAsyncClientfest. |
|
Event |
retryOptions(AmqpRetryOptions retryOptions)
Legt die Wiederholungsrichtlinie für EventHubAsyncClientfest. |
|
Event |
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. |
|
Event |
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:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
consumerGroup
public EventProcessorClientBuilder consumerGroup(String consumerGroup)
Legt den Namen der Consumergruppe fest, aus dem Ereignisse EventProcessorClient verwendet werden sollen.
Parameters:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
eventHubName
public EventProcessorClientBuilder eventHubName(String eventHubName)
Legt den Namen des Event Hub fest, mit dem der Client eine Verbindung herstellen soll.
Parameters:
Returns:
fullyQualifiedNamespace
public EventProcessorClientBuilder fullyQualifiedNamespace(String fullyQualifiedNamespace)
Legt den vollqualifizierten Namen für den Event Hubs-Namespace fest.
Parameters:
Returns:
initialPartitionEventPosition
public EventProcessorClientBuilder initialPartitionEventPosition(Map
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:
Returns:
initialPartitionEventPosition
public EventProcessorClientBuilder initialPartitionEventPosition(Function
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:
partitionId einem EventPositionzuordnet.
Returns:
loadBalancingStrategy
public EventProcessorClientBuilder loadBalancingStrategy(LoadBalancingStrategy loadBalancingStrategy)
Die LoadBalancingStrategy wird EventProcessorClient zum Anfordern des Partitionsbesitzes verwendet. Standardmäßig wird ein BALANCED Ansatz verwendet.
Parameters:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
processError
public EventProcessorClientBuilder processError(Consumer
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:
Returns:
processEvent
public EventProcessorClientBuilder processEvent(Consumer
Die Funktion, die für jedes ereignis aufgerufen wird, das von diesem EventProcessorClientempfangen wird. Die Eingabe enthält den Partitionskontext und die Ereignisdaten.
Parameters:
Returns:
processEvent
public EventProcessorClientBuilder processEvent(Consumer
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:
Returns:
processEventBatch
public EventProcessorClientBuilder processEventBatch(Consumer
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:
Returns:
processEventBatch
public EventProcessorClientBuilder processEventBatch(Consumer
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:
Returns:
processPartitionClose
public EventProcessorClientBuilder processPartitionClose(Consumer
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:
Returns:
processPartitionInitialization
public EventProcessorClientBuilder processPartitionInitialization(Consumer
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:
Returns:
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:
Returns:
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:
Returns:
retryOptions
public EventProcessorClientBuilder retryOptions(AmqpRetryOptions retryOptions)
Legt die Wiederholungsrichtlinie für EventHubAsyncClientfest. Falls nicht angegeben, werden die Standard-Wiederholungsoptionen verwendet.
Parameters:
Returns:
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:
true , wenn die resultierenden Ereignisse die zuletzt in die Warteschlange gestellten Informationen für diese Partition nachverfolgen; false Andernfalls.
Returns:
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:
Returns: