Partager via


EventProcessorClientBuilder Classe

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

Implémente

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

Cette classe fournit une API Fluent Builder pour faciliter la configuration et l’instanciation EventProcessorClientdu . L’appel buildEventProcessorClient() construit une nouvelle instance de EventProcessorClient.

Pour créer une instance de EventProcessorClient, les champs suivants sont obligatoires :

Les exemples présentés dans ce document utilisent un objet d’informations d’identification nommé DefaultAzureCredential pour l’authentification, qui convient à la plupart des scénarios, notamment aux environnements de développement et de production locaux. En outre, nous vous recommandons d’utiliser une identité managée pour l’authentification dans les environnements de production. Vous trouverez plus d’informations sur les différentes méthodes d’authentification et leurs types d’informations d’identification correspondants dans la documentation Azure Identity.

Exemple : Construire un EventProcessorClient

L’exemple de code suivant illustre la création du client processeur. Le client processeur est recommandé pour les scénarios de production, car il peut équilibrer la charge entre plusieurs instances en cours d’exécution, effectuer des points de contrôle et se reconnecter en cas de défaillances temporaires telles que des pannes réseau. L’exemple ci-dessous utilise un en mémoireCheckpointStore, mais azure-messaging-eventhubs-checkpointstore-blob fournit un magasin de points de contrôle soutenu par Stockage Blob Azure.

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();

Récapitulatif du champ

Modificateur et type Champ et description
static final Duration DEFAULT_LOAD_BALANCING_UPDATE_INTERVAL

Intervalle de mise à jour d’équilibrage de charge par défaut.

static final Duration DEFAULT_OWNERSHIP_EXPIRATION_INTERVAL

Expiration de la propriété par défaut.

Récapitulatif du constructeur

Constructeur Description
EventProcessorClientBuilder()

Crée une instance de EventProcessorClientBuilder.

Résumé de la méthode

Modificateur et type Méthode et description
EventProcessorClient buildEventProcessorClient()

Cela crée un nouveau EventProcessorClient configuré avec les options définies dans ce générateur.

EventProcessorClientBuilder checkpointStore(CheckpointStore checkpointStore)

Définit le CheckpointStoreEventProcessorClient que utilisera pour stocker les informations de propriété et de point de contrôle de la partition.

EventProcessorClientBuilder clientOptions(ClientOptions clientOptions)

Définit les options client pour le client processeur.

EventProcessorClientBuilder configuration(Configuration configuration)

Définit le magasin de configuration utilisé pendant la construction du client de service.

EventProcessorClientBuilder connectionString(String connectionString)

Définit les informations d’identification d’une chaîne de connexion sur le instance Event Hub.

EventProcessorClientBuilder connectionString(String connectionString, String eventHubName)

Définit les informations d’identification en fonction d’une chaîne de connexion à l’espace de noms Event Hubs et au nom d’un instance Event Hub spécifique.

EventProcessorClientBuilder consumerGroup(String consumerGroup)

Définit le nom du groupe de consommateurs à partir duquel le EventProcessorClient doit consommer des événements.

EventProcessorClientBuilder credential(AzureNamedKeyCredential credential)

Définit les informations d’identification pour lesquelles Event Hub instance se connecter et comment autoriser ces informations.

EventProcessorClientBuilder credential(AzureSasCredential credential)

Définit les informations d’identification pour lesquelles Event Hub instance se connecter et comment autoriser ces informations.

EventProcessorClientBuilder credential(TokenCredential credential)

Définit le utilisé pour autoriser les TokenCredential demandes envoyées au service.

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

Définit les informations d’identification pour lesquelles Event Hub instance se connecter et comment autoriser ces informations.

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

Définit les informations d’identification pour lesquelles Event Hub instance se connecter et comment autoriser ces informations.

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

Définit les informations d’identification pour lesquelles Event Hub instance se connecter et comment autoriser ces informations.

EventProcessorClientBuilder customEndpointAddress(String customEndpointAddress)

Définit une adresse de point de terminaison personnalisée lors de la connexion au service Event Hubs.

EventProcessorClientBuilder eventHubName(String eventHubName)

Définit le nom du hub d’événements auquel connecter le client.

EventProcessorClientBuilder fullyQualifiedNamespace(String fullyQualifiedNamespace)

Définit le nom complet de l’espace de noms Event Hubs.

EventProcessorClientBuilder initialPartitionEventPosition(Map<String,EventPosition> initialPartitionEventPosition)

Définit la carte contenant la position d’événement à utiliser pour chaque partition si un point de contrôle pour la partition n’existe pas dans CheckpointStore.

EventProcessorClientBuilder initialPartitionEventPosition(Function<String,EventPosition> initialEventPositionProvider)

Définit la position de départ par défaut pour chaque partition si un point de contrôle pour cette partition n’existe pas dans le CheckpointStore.

EventProcessorClientBuilder loadBalancingStrategy(LoadBalancingStrategy loadBalancingStrategy)

EventProcessorClient le LoadBalancingStrategy utilisera pour revendiquer la propriété de la partition.

EventProcessorClientBuilder loadBalancingUpdateInterval(Duration loadBalancingUpdateInterval)

Intervalle de temps entre les cycles de mise à jour d’équilibrage de charge.

EventProcessorClientBuilder partitionOwnershipExpirationInterval(Duration partitionOwnershipExpirationInterval)

Durée après laquelle la propriété de la partition expire si elle n’est pas renouvelée par le processeur propriétaire instance.

EventProcessorClientBuilder prefetchCount(int prefetchCount)

Définit le nombre utilisé par les récepteurs pour contrôler le nombre d’événements que chaque consommateur recevra activement et mettra en file d’attente localement, sans tenir compte du fait qu’une opération de réception est active ou non.

EventProcessorClientBuilder processError(Consumer<ErrorContext> processError)

Fonction appelée lorsqu’une erreur se produit lors du traitement des événements.

EventProcessorClientBuilder processEvent(Consumer<EventContext> processEvent)

Fonction appelée pour chaque événement reçu par ce EventProcessorClient.

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

Fonction appelée pour chaque événement reçu par ce EventProcessorClient.

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

Fonction appelée pour chaque événement reçu par ce EventProcessorClient.

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

Fonction appelée pour chaque événement reçu par ce EventProcessorClient.

EventProcessorClientBuilder processPartitionClose(Consumer<CloseContext> closePartition)

Fonction appelée lorsqu’un traitement d’une partition s’arrête.

EventProcessorClientBuilder processPartitionInitialization(Consumer<InitializationContext> initializePartition)

Fonction appelée avant le début du traitement pour une partition.

EventProcessorClientBuilder proxyOptions(ProxyOptions proxyOptions)

Définit la configuration du proxy à utiliser pour EventHubAsyncClient.

EventProcessorClientBuilder retry(AmqpRetryOptions retryOptions)

Déprécié

Définit la stratégie de nouvelle tentative pour EventHubAsyncClient.

EventProcessorClientBuilder retryOptions(AmqpRetryOptions retryOptions)

Définit la stratégie de nouvelle tentative pour EventHubAsyncClient.

EventProcessorClientBuilder trackLastEnqueuedEventProperties(boolean trackLastEnqueuedEventProperties)

Définit si le processeur d’événements doit demander ou non des informations sur le dernier événement en file d’attente sur sa partition associée et suivre ces informations à mesure que les événements sont reçus.

EventProcessorClientBuilder transportType(AmqpTransportType transport)

Définit le type de transport par lequel toutes les communications avec Azure Event Hubs se produisent.

Méthodes héritées de java.lang.Object

Détails du champ

DEFAULT_LOAD_BALANCING_UPDATE_INTERVAL

public static final Duration DEFAULT_LOAD_BALANCING_UPDATE_INTERVAL

Intervalle de mise à jour d’équilibrage de charge par défaut. L’intervalle d’équilibrage doit prendre en compte la latence entre le client et le compte de stockage.

DEFAULT_OWNERSHIP_EXPIRATION_INTERVAL

public static final Duration DEFAULT_OWNERSHIP_EXPIRATION_INTERVAL

Expiration de la propriété par défaut.

Détails du constructeur

EventProcessorClientBuilder

public EventProcessorClientBuilder()

Crée une instance de EventProcessorClientBuilder.

Détails de la méthode

buildEventProcessorClient

public EventProcessorClient buildEventProcessorClient()

Cela crée un nouveau EventProcessorClient configuré avec les options définies dans ce générateur. Chaque appel à cette méthode retourne une nouvelle instance de EventProcessorClient.

Toutes les partitions traitées par celui-ci EventProcessorClient démarrent le traitement à partir de earliest() l’événement disponible dans les partitions respectives.

Returns:

Nouvelle instance de EventProcessorClient.

checkpointStore

public EventProcessorClientBuilder checkpointStore(CheckpointStore checkpointStore)

Définit le CheckpointStoreEventProcessorClient que utilisera pour stocker les informations de propriété et de point de contrôle de la partition.

Les utilisateurs peuvent, si vous le souhaitez, fournir leur propre implémentation, qui stocke les informations de propriété et de point de CheckpointStore contrôle.

Parameters:

checkpointStore - Implémentation de CheckpointStore.

Returns:

Instance mis à jour EventProcessorClientBuilder .

clientOptions

public EventProcessorClientBuilder clientOptions(ClientOptions clientOptions)

Définit les options client pour le client processeur. L’ID d’application défini sur les options clientes sera utilisé pour le suivi. Les en-têtes définis sur ClientOptions ne sont actuellement pas utilisés, mais peuvent être utilisés dans les versions ultérieures pour ajouter au message AMQP.

Parameters:

clientOptions - Options du client.

Returns:

Objet mis à jour EventProcessorClientBuilder .

configuration

public EventProcessorClientBuilder configuration(Configuration configuration)

Définit le magasin de configuration utilisé pendant la construction du client de service. S’il n’est pas spécifié, le magasin de configuration par défaut est utilisé pour configurer le EventHubAsyncClient. Utilisez NONE pour contourner l’utilisation des paramètres de configuration pendant la construction.

Parameters:

configuration - Magasin de configuration utilisé pour configurer le EventHubAsyncClient.

Returns:

Objet mis à jour EventProcessorClientBuilder .

connectionString

public EventProcessorClientBuilder connectionString(String connectionString)

Définit les informations d’identification d’une chaîne de connexion sur le instance Event Hub.

Si la chaîne de connexion est copiée à partir de l’espace de noms Event Hubs, elle ne contiendra probablement pas le nom du hub d’événements souhaité, ce qui est nécessaire. Dans ce cas, le nom peut être ajouté manuellement en ajoutant « EntityPath=EVENT_HUB_NAME » à la fin de la chaîne de connexion. Par exemple, « EntityPath=telemetry-hub ».

Si vous avez défini une stratégie d’accès partagé directement sur le hub d’événements lui-même, la copie de la chaîne de connexion à partir de ce hub d’événements génère une chaîne de connexion qui contient le nom.

Parameters:

connectionString - Chaîne de connexion à utiliser pour la connexion au hub d’événements instance. Il est attendu que le nom d’Event Hub et les propriétés de la clé d’accès partagé soient contenues dans cette chaîne de connexion.

Returns:

Objet mis à jour EventProcessorClientBuilder .

connectionString

public EventProcessorClientBuilder connectionString(String connectionString, String eventHubName)

Définit les informations d’identification en fonction d’une chaîne de connexion à l’espace de noms Event Hubs et au nom d’un instance Event Hub spécifique.

Parameters:

connectionString - Chaîne de connexion à utiliser pour la connexion à l’espace de noms Event Hubs ; il est attendu que les propriétés de la clé d’accès partagé soient contenues dans cette chaîne de connexion, mais pas dans le nom du hub d’événements.
eventHubName - Nom du hub d’événements auquel connecter le client.

Returns:

Objet mis à jour EventProcessorClientBuilder .

consumerGroup

public EventProcessorClientBuilder consumerGroup(String consumerGroup)

Définit le nom du groupe de consommateurs à partir duquel le EventProcessorClient doit consommer des événements.

Parameters:

consumerGroup - Nom du groupe de consommateurs qui EventProcessorClient doit consommer des événements.

Returns:

Instance mis à jour EventProcessorClientBuilder .

credential

public EventProcessorClientBuilder credential(AzureNamedKeyCredential credential)

Définit les informations d’identification pour lesquelles Event Hub instance se connecter et comment autoriser ces informations.

Parameters:

credential - Nom d’accès partagé et informations d’identification de clé à utiliser pour l’autorisation. Les contrôles d’accès peuvent être spécifiés par l’espace de noms Event Hubs ou l’Event Hub demandé, en fonction de la configuration Azure.

Returns:

Objet mis à jour EventProcessorClientBuilder .

credential

public EventProcessorClientBuilder credential(AzureSasCredential credential)

Définit les informations d’identification pour lesquelles Event Hub instance se connecter et comment autoriser ces informations.

Parameters:

credential - Informations d’identification de signature d’accès partagé à utiliser pour l’autorisation. Les contrôles d’accès peuvent être spécifiés par l’espace de noms Event Hubs ou l’Event Hub demandé, en fonction de la configuration Azure.

Returns:

Objet mis à jour EventProcessorClientBuilder .

credential

public EventProcessorClientBuilder credential(TokenCredential credential)

Définit le utilisé pour autoriser les TokenCredential demandes envoyées au service. Pour plus d’informations sur l’utilisation appropriée du type, consultez la documentation sur l’identité et l’authentification du TokenCredential Kit de développement logiciel (SDK) Azure pour Java.

Parameters:

credential - Informations d’identification du jeton à utiliser pour l’autorisation. Les contrôles d’accès peuvent être spécifiés par l’espace de noms Event Hubs ou l’Event Hub demandé, en fonction de la configuration Azure.

Returns:

Objet mis à jour EventProcessorClientBuilder .

credential

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

Définit les informations d’identification pour lesquelles Event Hub instance se connecter et comment autoriser ces informations.

Parameters:

fullyQualifiedNamespace - Nom complet de l’espace de noms Event Hubs. Cela est probablement similaire à « {votre-espace de noms}.servicebus.windows.net ».
eventHubName - Nom du hub d’événements auquel connecter le client.
credential - Nom d’accès partagé et informations d’identification de clé à utiliser pour l’autorisation. Les contrôles d’accès peuvent être spécifiés par l’espace de noms Event Hubs ou l’Event Hub demandé, en fonction de la configuration Azure.

Returns:

Objet mis à jour EventProcessorClientBuilder .

credential

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

Définit les informations d’identification pour lesquelles Event Hub instance se connecter et comment autoriser ces informations.

Parameters:

fullyQualifiedNamespace - Nom complet de l’espace de noms Event Hubs. Cela est probablement similaire à « {votre-espace de noms}.servicebus.windows.net ».
eventHubName - Nom du hub d’événements auquel connecter le client.
credential - Informations d’identification de signature d’accès partagé à utiliser pour l’autorisation. Les contrôles d’accès peuvent être spécifiés par l’espace de noms Event Hubs ou l’Event Hub demandé, en fonction de la configuration Azure.

Returns:

Objet mis à jour EventProcessorClientBuilder .

credential

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

Définit les informations d’identification pour lesquelles Event Hub instance se connecter et comment autoriser ces informations.

Parameters:

fullyQualifiedNamespace - Nom complet de l’espace de noms Event Hubs. Cela est probablement similaire à « {votre-espace de noms}.servicebus.windows.net ».
eventHubName - Nom du hub d’événements auquel connecter le client.
credential - Informations d’identification du jeton à utiliser pour l’autorisation. Les contrôles d’accès peuvent être spécifiés par l’espace de noms Event Hubs ou l’Event Hub demandé, en fonction de la configuration Azure.

Returns:

Objet mis à jour EventProcessorClientBuilder .

customEndpointAddress

public EventProcessorClientBuilder customEndpointAddress(String customEndpointAddress)

Définit une adresse de point de terminaison personnalisée lors de la connexion au service Event Hubs. Cela peut être utile lorsque votre réseau n’autorise pas la connexion à l’adresse de point de terminaison standard Azure Event Hubs, mais autorise la connexion via un intermédiaire. Par exemple : https://my.custom.endpoint.com:55300.

Si aucun port n’est spécifié, le port par défaut de est transportType(AmqpTransportType transport) utilisé.

Parameters:

customEndpointAddress - Adresse de point de terminaison personnalisée.

Returns:

Objet mis à jour EventProcessorClientBuilder .

eventHubName

public EventProcessorClientBuilder eventHubName(String eventHubName)

Définit le nom du hub d’événements auquel connecter le client.

Parameters:

eventHubName - Nom du hub d’événements auquel connecter le client.

Returns:

Objet mis à jour EventProcessorClientBuilder .

fullyQualifiedNamespace

public EventProcessorClientBuilder fullyQualifiedNamespace(String fullyQualifiedNamespace)

Définit le nom complet de l’espace de noms Event Hubs.

Parameters:

fullyQualifiedNamespace - Nom complet de l’espace de noms Event Hubs. Cela est probablement similaire à « {votre-espace de noms}.servicebus.windows.net ».

Returns:

Objet mis à jour EventProcessorClientBuilder .

initialPartitionEventPosition

public EventProcessorClientBuilder initialPartitionEventPosition(Map initialPartitionEventPosition)

Définit la carte contenant la position d’événement à utiliser pour chaque partition si un point de contrôle pour la partition n’existe pas dans CheckpointStore. Cette carte est clé hors de l’ID de partition.

Une seule surcharge de doit être utilisée lors de initialPartitionEventPosition la construction d’un EventProcessorClient.

Parameters:

initialPartitionEventPosition - Mappage des positions d’événement initiales pour les ID de partition.

Returns:

Instance mis à jour EventProcessorClientBuilder .

initialPartitionEventPosition

public EventProcessorClientBuilder initialPartitionEventPosition(Function initialEventPositionProvider)

Définit la position de départ par défaut pour chaque partition si un point de contrôle pour cette partition n’existe pas dans le CheckpointStore.

Une seule surcharge de doit être utilisée lors de initialPartitionEventPosition la construction d’un EventProcessorClient.

Parameters:

initialEventPositionProvider - Fonction qui mappe le donné partitionId à un EventPosition.

Returns:

Instance mis à jour EventProcessorClientBuilder .

loadBalancingStrategy

public EventProcessorClientBuilder loadBalancingStrategy(LoadBalancingStrategy loadBalancingStrategy)

EventProcessorClient le LoadBalancingStrategy utilisera pour revendiquer la propriété de la partition. Par défaut, une BALANCED approche est utilisée.

Parameters:

loadBalancingStrategy - LoadBalancingStrategy à utiliser.

Returns:

Instance mis à jour EventProcessorClientBuilder .

loadBalancingUpdateInterval

public EventProcessorClientBuilder loadBalancingUpdateInterval(Duration loadBalancingUpdateInterval)

Intervalle de temps entre les cycles de mise à jour d’équilibrage de charge. Il s’agit également généralement de l’intervalle auquel la propriété des partitions est renouvelée. Par défaut, cet intervalle est défini sur 10 secondes.

Parameters:

loadBalancingUpdateInterval - Durée entre les cycles de mise à jour d’équilibrage de charge.

Returns:

Instance mis à jour EventProcessorClientBuilder .

partitionOwnershipExpirationInterval

public EventProcessorClientBuilder partitionOwnershipExpirationInterval(Duration partitionOwnershipExpirationInterval)

Durée après laquelle la propriété de la partition expire si elle n’est pas renouvelée par le processeur propriétaire instance. Il s’agit de la durée pendant laquelle ce processeur instance attend avant de prendre la propriété des partitions précédemment détenues par un processeur inactif. Par défaut, cette durée est définie sur une minute.

Parameters:

partitionOwnershipExpirationInterval - Durée après laquelle la propriété de la partition expire.

Returns:

Instance mis à jour EventProcessorClientBuilder .

prefetchCount

public EventProcessorClientBuilder prefetchCount(int prefetchCount)

Définit le nombre utilisé par les récepteurs pour contrôler le nombre d’événements que chaque consommateur recevra activement et mettra en file d’attente localement, sans tenir compte du fait qu’une opération de réception est active ou non.

Parameters:

prefetchCount - Nombre d’événements à mettre en file d’attente localement.

Returns:

Objet mis à jour EventHubClientBuilder .

processError

public EventProcessorClientBuilder processError(Consumer processError)

Fonction appelée lorsqu’une erreur se produit lors du traitement des événements. L’entrée contient les informations de partition où l’erreur s’est produite.

Parameters:

processError - Rappel appelé lorsqu’une erreur se produit lors du traitement des événements.

Returns:

Instance mis à jour EventProcessorClientBuilder .

processEvent

public EventProcessorClientBuilder processEvent(Consumer processEvent)

Fonction appelée pour chaque événement reçu par ce EventProcessorClient. L’entrée contient le contexte de partition et les données d’événement.

Parameters:

processEvent - Rappel appelé lorsqu’un événement est reçu par ce EventProcessorClient.

Returns:

Instance mis à jour EventProcessorClientBuilder .

processEvent

public EventProcessorClientBuilder processEvent(Consumer processEvent, Duration maxWaitTime)

Fonction appelée pour chaque événement reçu par ce EventProcessorClient. L’entrée contient le contexte de partition et les données d’événement. Si le temps d’attente maximal est défini, la réception attendra cette durée pour recevoir un événement et si aucun événement n’est reçu, le consommateur sera appelé avec des données d’événement null.

Parameters:

processEvent - Rappel appelé lorsqu’un événement est reçu par ce EventProcessorClient ou lorsque la durée d’attente maximale a expiré.
maxWaitTime - Durée maximale d’attente de réception d’un événement avant d’appeler ce gestionnaire.

Returns:

Instance mis à jour EventProcessorClient .

processEventBatch

public EventProcessorClientBuilder processEventBatch(Consumer processEventBatch, int maxBatchSize)

Fonction appelée pour chaque événement reçu par ce EventProcessorClient. L’entrée contient le contexte de partition et les données d’événement. Si le temps d’attente maximal est défini, la réception attendra cette durée pour recevoir un événement et si aucun événement n’est reçu, le consommateur sera appelé avec des données d’événement null.

Parameters:

processEventBatch - Rappel appelé lorsqu’un événement est reçu par ce EventProcessorClient ou lorsque la durée d’attente maximale a expiré.
maxBatchSize - Nombre maximal d’événements qui figureront dans la liste lorsque ce rappel sera appelé.

Returns:

Instance mis à jour EventProcessorClient .

processEventBatch

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

Fonction appelée pour chaque événement reçu par ce EventProcessorClient. L’entrée contient le contexte de partition et les données d’événement. Si le temps d’attente maximal est défini, la réception attendra cette durée pour recevoir un événement et si aucun événement n’est reçu, le consommateur sera appelé avec des données d’événement null.

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 - Rappel appelé lorsqu’un événement est reçu ou lorsque la durée d’attente maximale a expiré.
maxBatchSize - Nombre maximal d’événements qui figureront dans la liste lorsque ce rappel sera appelé.
maxWaitTime - Durée maximale d’attente pour recevoir un lot d’événements jusqu’à la taille maximale du lot avant d’appeler ce rappel.

Returns:

Instance mis à jour EventProcessorClient .

processPartitionClose

public EventProcessorClientBuilder processPartitionClose(Consumer closePartition)

Fonction appelée lorsqu’un traitement d’une partition s’arrête. L’entrée contient les informations de partition, ainsi que la raison de l’arrêt du traitement des événements pour cette partition.

Parameters:

closePartition - Le rappel appelé après le traitement d’une partition s’arrête.

Returns:

Instance mis à jour EventProcessorClientBuilder .

processPartitionInitialization

public EventProcessorClientBuilder processPartitionInitialization(Consumer initializePartition)

Fonction appelée avant le début du traitement pour une partition. L’entrée contient les informations de partition ainsi qu’une position de départ par défaut pour le traitement des événements qui seront utilisés dans le cas d’un point de contrôle non disponible dans CheckpointStore. Les utilisateurs peuvent mettre à jour cette position si une autre position de départ est recommandée.

Parameters:

initializePartition - Rappel appelé avant le début du traitement pour une partition

Returns:

Instance mis à jour EventProcessorClientBuilder .

proxyOptions

public EventProcessorClientBuilder proxyOptions(ProxyOptions proxyOptions)

Définit la configuration du proxy à utiliser pour EventHubAsyncClient. Lorsqu’un proxy est configuré, AMQP_WEB_SOCKETS doit être utilisé pour le type de transport.

Parameters:

proxyOptions - Options de proxy à utiliser.

Returns:

Objet mis à jour EventProcessorClientBuilder .

retry

@Deprecated
public EventProcessorClientBuilder retry(AmqpRetryOptions retryOptions)

Déprécié

Définit la stratégie de nouvelle tentative pour EventHubAsyncClient. Si elles ne sont pas spécifiées, les options de nouvelle tentative par défaut sont utilisées.

Parameters:

retryOptions - Stratégie de nouvelle tentative à utiliser.

Returns:

Objet mis à jour EventProcessorClientBuilder .

retryOptions

public EventProcessorClientBuilder retryOptions(AmqpRetryOptions retryOptions)

Définit la stratégie de nouvelle tentative pour EventHubAsyncClient. Si elles ne sont pas spécifiées, les options de nouvelle tentative par défaut sont utilisées.

Parameters:

retryOptions - Options de nouvelle tentative à utiliser.

Returns:

Objet mis à jour EventProcessorClientBuilder .

trackLastEnqueuedEventProperties

public EventProcessorClientBuilder trackLastEnqueuedEventProperties(boolean trackLastEnqueuedEventProperties)

Définit si le processeur d’événements doit demander ou non des informations sur le dernier événement mis en file d’attente sur sa partition associée et suivre ces informations à mesure que les événements sont reçus.

Lorsque des informations sur le dernier événement mis en file d’attente de la partition sont suivies, chaque événement reçu du service Event Hubs contient des métadonnées sur la partition qu’il ne serait pas autrement. Cela se traduit par une faible consommation supplémentaire de bande passante réseau qui est généralement un compromis favorable lorsqu’on l’envisage par rapport à l’envoi périodique de demandes de propriétés de partition à l’aide du client Event Hub.

Parameters:

trackLastEnqueuedEventProperties - true si les événements résultants effectuent le suivi des dernières informations en file d’attente pour cette partition ; false Sinon.

Returns:

Instance mis à jour EventProcessorClientBuilder .

transportType

public EventProcessorClientBuilder transportType(AmqpTransportType transport)

Définit le type de transport par lequel toutes les communications avec Azure Event Hubs se produisent. La valeur par défaut est AMQP.

Parameters:

transport - Type de transport à utiliser.

Returns:

Objet mis à jour EventProcessorClientBuilder .

S’applique à