Compartir a través de


EventProcessorClientBuilder Clase

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

Implementaciones

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

Esta clase proporciona una API fluida de Builder para ayudar a la configuración y creación de instancias de EventProcessorClient. La llamada a buildEventProcessorClient() crea una nueva instancia de EventProcessorClient.

Para crear una instancia de EventProcessorClient, se requieren los siguientes campos:

Los ejemplos que se muestran en este documento usan un objeto de credencial denominado DefaultAzureCredential para la autenticación, que es adecuado para la mayoría de los escenarios, incluidos los entornos de desarrollo y producción locales. Además, se recomienda usar la identidad administrada para la autenticación en entornos de producción. Puede encontrar más información sobre las distintas formas de autenticación y sus tipos de credenciales correspondientes en la documentación de Azure Identity.

Ejemplo: Construir un EventProcessorClient

En el ejemplo de código siguiente se muestra la creación del cliente del procesador. Se recomienda el cliente del procesador para escenarios de producción, ya que puede equilibrar la carga entre varias instancias en ejecución, realizar puntos de control y volver a conectarse en errores transitorios, como interrupciones de red. En el ejemplo siguiente se usa una instancia en memoria CheckpointStore pero azure-messaging-eventhubs-checkpointstore-blob proporciona un almacén de puntos de control respaldado por Azure Blob Storage.

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

Resumen del campo

Modificador y tipo Campo y descripción
static final Duration DEFAULT_LOAD_BALANCING_UPDATE_INTERVAL

Intervalo de actualización de equilibrio de carga predeterminado.

static final Duration DEFAULT_OWNERSHIP_EXPIRATION_INTERVAL

Expiración de la propiedad predeterminada.

Resumen del constructor

Constructor Description
EventProcessorClientBuilder()

Crea una nueva instancia de EventProcessorClientBuilder.

Resumen del método

Modificador y tipo Método y descripción
EventProcessorClient buildEventProcessorClient()

Esto creará un nuevo EventProcessorClient configurado con las opciones establecidas en este generador.

EventProcessorClientBuilder checkpointStore(CheckpointStore checkpointStore)

Establece el objeto CheckpointStore que EventProcessorClient se usará para almacenar la propiedad de la partición y la información del punto de control.

EventProcessorClientBuilder clientOptions(ClientOptions clientOptions)

Establece las opciones de cliente para el cliente del procesador.

EventProcessorClientBuilder configuration(Configuration configuration)

Establece el almacén de configuración que se usa durante la construcción del cliente de servicio.

EventProcessorClientBuilder connectionString(String connectionString)

Establece la información de credenciales dada una cadena de conexión a la instancia del centro de eventos.

EventProcessorClientBuilder connectionString(String connectionString, String eventHubName)

Establece la información de credenciales dada una cadena de conexión al espacio de nombres y el nombre de Event Hubs en una instancia específica del centro de eventos.

EventProcessorClientBuilder consumerGroup(String consumerGroup)

Establece el nombre del grupo de consumidores desde el EventProcessorClient que debe consumir eventos.

EventProcessorClientBuilder credential(AzureNamedKeyCredential credential)

Establece la información de credenciales a la que se conectará la instancia del centro de eventos y cómo autorizarla.

EventProcessorClientBuilder credential(AzureSasCredential credential)

Establece la información de credenciales a la que se conectará la instancia del centro de eventos y cómo autorizarla.

EventProcessorClientBuilder credential(TokenCredential credential)

Establece el TokenCredential objeto utilizado para autorizar las solicitudes enviadas al servicio.

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

Establece la información de credenciales a la que se conectará la instancia del centro de eventos y cómo autorizarla.

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

Establece la información de credenciales a la que se conectará la instancia del centro de eventos y cómo autorizarla.

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

Establece la información de credenciales a la que se conectará la instancia del centro de eventos y cómo autorizarla.

EventProcessorClientBuilder customEndpointAddress(String customEndpointAddress)

Establece una dirección de punto de conexión personalizada al conectarse al servicio Event Hubs.

EventProcessorClientBuilder eventHubName(String eventHubName)

Establece el nombre del centro de eventos al que se va a conectar el cliente.

EventProcessorClientBuilder fullyQualifiedNamespace(String fullyQualifiedNamespace)

Establece el nombre completo del espacio de nombres de Event Hubs.

EventProcessorClientBuilder initialPartitionEventPosition(Map<String,EventPosition> initialPartitionEventPosition)

Establece el mapa que contiene la posición del evento que se va a usar para cada partición si no existe un punto de control para la partición en CheckpointStore.

EventProcessorClientBuilder initialPartitionEventPosition(Function<String,EventPosition> initialEventPositionProvider)

Establece la posición inicial predeterminada para cada partición si no existe un punto de control para esa partición en .CheckpointStore

EventProcessorClientBuilder loadBalancingStrategy(LoadBalancingStrategy loadBalancingStrategy)

el LoadBalancingStrategy objeto EventProcessorClient usará para reclamar la propiedad de la partición.

EventProcessorClientBuilder loadBalancingUpdateInterval(Duration loadBalancingUpdateInterval)

Intervalo de tiempo entre ciclos de actualización de equilibrio de carga.

EventProcessorClientBuilder partitionOwnershipExpirationInterval(Duration partitionOwnershipExpirationInterval)

La duración del tiempo después de la cual expira la propiedad de la partición si la instancia del procesador propietaria no la renueva.

EventProcessorClientBuilder prefetchCount(int prefetchCount)

Establece el recuento utilizado por los receptores para controlar el número de eventos que cada consumidor recibirá y pondrá en cola localmente sin tener en cuenta si una operación de recepción está activa actualmente.

EventProcessorClientBuilder processError(Consumer<ErrorContext> processError)

Función a la que se llama cuando se produce un error al procesar eventos.

EventProcessorClientBuilder processEvent(Consumer<EventContext> processEvent)

Función a la que se llama para cada evento recibido por este .EventProcessorClient

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

Función a la que se llama para cada evento recibido por este .EventProcessorClient

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

Función a la que se llama para cada evento recibido por este .EventProcessorClient

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

Función a la que se llama para cada evento recibido por este .EventProcessorClient

EventProcessorClientBuilder processPartitionClose(Consumer<CloseContext> closePartition)

Función a la que se llama cuando se detiene un procesamiento para una partición.

EventProcessorClientBuilder processPartitionInitialization(Consumer<InitializationContext> initializePartition)

Función a la que se llama antes de que se inicie el procesamiento para una partición.

EventProcessorClientBuilder proxyOptions(ProxyOptions proxyOptions)

Establece la configuración de proxy que se va a usar para EventHubAsyncClient.

EventProcessorClientBuilder retry(AmqpRetryOptions retryOptions)

Obsoleto

Establece la directiva de reintento para EventHubAsyncClient.

EventProcessorClientBuilder retryOptions(AmqpRetryOptions retryOptions)

Establece la directiva de reintento para EventHubAsyncClient.

EventProcessorClientBuilder trackLastEnqueuedEventProperties(boolean trackLastEnqueuedEventProperties)

Establece si el procesador de eventos debe solicitar información sobre el último evento en cola en su partición asociada y realizar un seguimiento de esa información a medida que se reciben los eventos.

EventProcessorClientBuilder transportType(AmqpTransportType transport)

Establece el tipo de transporte por el que se produce toda la comunicación con Azure Event Hubs.

Métodos heredados de java.lang.Object

Detalles del campo

DEFAULT_LOAD_BALANCING_UPDATE_INTERVAL

public static final Duration DEFAULT_LOAD_BALANCING_UPDATE_INTERVAL

Intervalo de actualización de equilibrio de carga predeterminado. El intervalo de equilibrio debe tener en cuenta la latencia entre el cliente y la cuenta de almacenamiento.

DEFAULT_OWNERSHIP_EXPIRATION_INTERVAL

public static final Duration DEFAULT_OWNERSHIP_EXPIRATION_INTERVAL

Expiración de la propiedad predeterminada.

Detalles del constructor

EventProcessorClientBuilder

public EventProcessorClientBuilder()

Crea una nueva instancia de EventProcessorClientBuilder.

Detalles del método

buildEventProcessorClient

public EventProcessorClient buildEventProcessorClient()

Esto creará un nuevo EventProcessorClient configurado con las opciones establecidas en este generador. Cada llamada a este método devolverá una nueva instancia de EventProcessorClient.

Todas las particiones procesadas por esto EventProcessorClient comenzarán a procesarse desde earliest() el evento disponible en las particiones respectivas.

Returns:

Nueva instancia de EventProcessorClient.

checkpointStore

public EventProcessorClientBuilder checkpointStore(CheckpointStore checkpointStore)

Establece el objeto CheckpointStore que EventProcessorClient se usará para almacenar la propiedad de la partición y la información del punto de control.

Los usuarios pueden, opcionalmente, proporcionar su propia implementación de que almacenará la información de propiedad y punto de CheckpointStore control.

Parameters:

checkpointStore - Implementación de CheckpointStore.

Returns:

Instancia actualizada EventProcessorClientBuilder .

clientOptions

public EventProcessorClientBuilder clientOptions(ClientOptions clientOptions)

Establece las opciones de cliente para el cliente del procesador. El identificador de aplicación establecido en las opciones de cliente se usará para el seguimiento. Los encabezados establecidos en ClientOptions no se usan actualmente, pero se pueden usar en versiones posteriores para agregar al mensaje AMQP.

Parameters:

clientOptions - Las opciones de cliente.

Returns:

Objeto EventProcessorClientBuilder actualizado.

configuration

public EventProcessorClientBuilder configuration(Configuration configuration)

Establece el almacén de configuración que se usa durante la construcción del cliente de servicio. Si no se especifica, el almacén de configuración predeterminado se usa para configurar .EventHubAsyncClient Use NONE para omitir el uso de opciones de configuración durante la construcción.

Parameters:

configuration - Almacén de configuración usado para configurar .EventHubAsyncClient

Returns:

Objeto EventProcessorClientBuilder actualizado.

connectionString

public EventProcessorClientBuilder connectionString(String connectionString)

Establece la información de credenciales dada una cadena de conexión a la instancia del centro de eventos.

Si la cadena de conexión se copia del espacio de nombres de Event Hubs, es probable que no contenga el nombre en el centro de eventos deseado, que es necesario. En este caso, el nombre se puede agregar manualmente agregando "EntityPath=EVENT_HUB_NAME" al final de la cadena de conexión. Por ejemplo, "EntityPath=telemetry-hub".

Si ha definido una directiva de acceso compartido directamente en el propio centro de eventos, copiar la cadena de conexión de ese centro de eventos dará lugar a una cadena de conexión que contenga el nombre.

Parameters:

connectionString - Cadena de conexión que se va a usar para conectarse a la instancia del centro de eventos. Se espera que el nombre del centro de eventos y las propiedades de la clave de acceso compartido estén contenidas en esta cadena de conexión.

Returns:

Objeto EventProcessorClientBuilder actualizado.

connectionString

public EventProcessorClientBuilder connectionString(String connectionString, String eventHubName)

Establece la información de credenciales dada una cadena de conexión al espacio de nombres y el nombre de Event Hubs en una instancia específica del centro de eventos.

Parameters:

connectionString - Cadena de conexión que se va a usar para conectarse al espacio de nombres de Event Hubs; se espera que las propiedades de la clave de acceso compartido estén contenidas en esta cadena de conexión, pero no en el nombre del centro de eventos.
eventHubName - Nombre del centro de eventos al que se va a conectar el cliente.

Returns:

Objeto EventProcessorClientBuilder actualizado.

consumerGroup

public EventProcessorClientBuilder consumerGroup(String consumerGroup)

Establece el nombre del grupo de consumidores desde el EventProcessorClient que debe consumir eventos.

Parameters:

consumerGroup - El nombre del grupo de consumidores que EventProcessorClient debe consumir eventos.

Returns:

Instancia actualizada EventProcessorClientBuilder .

credential

public EventProcessorClientBuilder credential(AzureNamedKeyCredential credential)

Establece la información de credenciales a la que se conectará la instancia del centro de eventos y cómo autorizarla.

Parameters:

credential - Nombre de acceso compartido y credencial de clave que se va a usar para la autorización. Los controles de acceso se pueden especificar mediante el espacio de nombres de Event Hubs o el centro de eventos solicitado, en función de la configuración de Azure.

Returns:

Objeto EventProcessorClientBuilder actualizado.

credential

public EventProcessorClientBuilder credential(AzureSasCredential credential)

Establece la información de credenciales a la que se conectará la instancia del centro de eventos y cómo autorizarla.

Parameters:

credential - Credencial de firma de acceso compartido que se va a usar para la autorización. Los controles de acceso se pueden especificar mediante el espacio de nombres de Event Hubs o el centro de eventos solicitado, en función de la configuración de Azure.

Returns:

Objeto EventProcessorClientBuilder actualizado.

credential

public EventProcessorClientBuilder credential(TokenCredential credential)

Establece el TokenCredential objeto utilizado para autorizar las solicitudes enviadas al servicio. Consulte la documentación de autenticación e identidad de Azure SDK para Java para más información sobre el uso adecuado del TokenCredential tipo.

Parameters:

credential - Credencial de token que se va a usar para la autorización. Los controles de acceso se pueden especificar mediante el espacio de nombres de Event Hubs o el centro de eventos solicitado, en función de la configuración de Azure.

Returns:

Objeto EventProcessorClientBuilder actualizado.

credential

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

Establece la información de credenciales a la que se conectará la instancia del centro de eventos y cómo autorizarla.

Parameters:

fullyQualifiedNamespace - Nombre completo del espacio de nombres de Event Hubs. Es probable que sea similar a "{your-namespace}.servicebus.windows.net".
eventHubName - Nombre del centro de eventos al que se va a conectar el cliente.
credential - Nombre de acceso compartido y credencial de clave que se va a usar para la autorización. Los controles de acceso se pueden especificar mediante el espacio de nombres de Event Hubs o el centro de eventos solicitado, en función de la configuración de Azure.

Returns:

Objeto EventProcessorClientBuilder actualizado.

credential

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

Establece la información de credenciales a la que se conectará la instancia del centro de eventos y cómo autorizarla.

Parameters:

fullyQualifiedNamespace - Nombre completo del espacio de nombres de Event Hubs. Es probable que sea similar a "{your-namespace}.servicebus.windows.net".
eventHubName - Nombre del centro de eventos al que se va a conectar el cliente.
credential - Credencial de firma de acceso compartido que se va a usar para la autorización. Los controles de acceso se pueden especificar mediante el espacio de nombres de Event Hubs o el centro de eventos solicitado, en función de la configuración de Azure.

Returns:

Objeto EventProcessorClientBuilder actualizado.

credential

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

Establece la información de credenciales a la que se conectará la instancia del centro de eventos y cómo autorizarla.

Parameters:

fullyQualifiedNamespace - Nombre completo del espacio de nombres de Event Hubs. Es probable que sea similar a "{your-namespace}.servicebus.windows.net".
eventHubName - Nombre del centro de eventos al que se va a conectar el cliente.
credential - Credencial de token que se va a usar para la autorización. Los controles de acceso se pueden especificar mediante el espacio de nombres de Event Hubs o el centro de eventos solicitado, en función de la configuración de Azure.

Returns:

Objeto EventProcessorClientBuilder actualizado.

customEndpointAddress

public EventProcessorClientBuilder customEndpointAddress(String customEndpointAddress)

Establece una dirección de punto de conexión personalizada al conectarse al servicio Event Hubs. Esto puede ser útil cuando la red no permite conectarse a la dirección del punto de conexión de Azure Event Hubs estándar, pero permite conectarse a través de un intermediario. Por ejemplo: https://my.custom.endpoint.com:55300.

Si no se especifica ningún puerto, se usa el puerto predeterminado para .transportType(AmqpTransportType transport)

Parameters:

customEndpointAddress - Dirección del punto de conexión personalizado.

Returns:

Objeto EventProcessorClientBuilder actualizado.

eventHubName

public EventProcessorClientBuilder eventHubName(String eventHubName)

Establece el nombre del centro de eventos al que se va a conectar el cliente.

Parameters:

eventHubName - Nombre del centro de eventos al que se va a conectar el cliente.

Returns:

Objeto EventProcessorClientBuilder actualizado.

fullyQualifiedNamespace

public EventProcessorClientBuilder fullyQualifiedNamespace(String fullyQualifiedNamespace)

Establece el nombre completo del espacio de nombres de Event Hubs.

Parameters:

fullyQualifiedNamespace - Nombre completo del espacio de nombres de Event Hubs. Es probable que sea similar a "{your-namespace}.servicebus.windows.net".

Returns:

Objeto EventProcessorClientBuilder actualizado.

initialPartitionEventPosition

public EventProcessorClientBuilder initialPartitionEventPosition(Map initialPartitionEventPosition)

Establece el mapa que contiene la posición del evento que se va a usar para cada partición si no existe un punto de control para la partición en CheckpointStore. Esta asignación se asigna a la clave del identificador de partición.

Solo se debe usar una sobrecarga de initialPartitionEventPosition al construir un EventProcessorClient.

Parameters:

initialPartitionEventPosition - Asignación de posiciones de eventos iniciales para identificadores de partición.

Returns:

Instancia actualizada EventProcessorClientBuilder .

initialPartitionEventPosition

public EventProcessorClientBuilder initialPartitionEventPosition(Function initialEventPositionProvider)

Establece la posición inicial predeterminada para cada partición si no existe un punto de control para esa partición en .CheckpointStore

Solo se debe usar una sobrecarga de initialPartitionEventPosition al construir un EventProcessorClient.

Parameters:

initialEventPositionProvider - Función que asigna el objeto dado partitionId a un objeto EventPosition.

Returns:

Instancia actualizada EventProcessorClientBuilder .

loadBalancingStrategy

public EventProcessorClientBuilder loadBalancingStrategy(LoadBalancingStrategy loadBalancingStrategy)

el LoadBalancingStrategy objeto EventProcessorClient usará para reclamar la propiedad de la partición. De forma predeterminada, se usará un BALANCED enfoque.

Parameters:

loadBalancingStrategy - Objeto LoadBalancingStrategy que se va a usar.

Returns:

Instancia actualizada EventProcessorClientBuilder .

loadBalancingUpdateInterval

public EventProcessorClientBuilder loadBalancingUpdateInterval(Duration loadBalancingUpdateInterval)

Intervalo de tiempo entre ciclos de actualización de equilibrio de carga. Esto también suele ser el intervalo en el que se renueva la propiedad de las particiones. De forma predeterminada, este intervalo se establece en 10 segundos.

Parameters:

loadBalancingUpdateInterval - Duración del tiempo entre ciclos de actualización de equilibrio de carga.

Returns:

Instancia actualizada EventProcessorClientBuilder .

partitionOwnershipExpirationInterval

public EventProcessorClientBuilder partitionOwnershipExpirationInterval(Duration partitionOwnershipExpirationInterval)

La duración del tiempo después de la cual expira la propiedad de la partición si la instancia del procesador propietaria no la renueva. Esta es la duración que esta instancia del procesador esperará antes de asumir la propiedad de las particiones que anteriormente eran propiedad de un procesador inactivo. De forma predeterminada, esta duración se establece en un minuto.

Parameters:

partitionOwnershipExpirationInterval - Duración del tiempo después de la cual expira la propiedad de la partición.

Returns:

Instancia actualizada EventProcessorClientBuilder .

prefetchCount

public EventProcessorClientBuilder prefetchCount(int prefetchCount)

Establece el recuento utilizado por los receptores para controlar el número de eventos que cada consumidor recibirá y pondrá en cola localmente sin tener en cuenta si una operación de recepción está activa actualmente.

Parameters:

prefetchCount - Número de eventos que se van a poner en cola localmente.

Returns:

Objeto EventHubClientBuilder actualizado.

processError

public EventProcessorClientBuilder processError(Consumer processError)

Función a la que se llama cuando se produce un error al procesar eventos. La entrada contiene la información de partición donde se produjo el error.

Parameters:

processError - Devolución de llamada a la que se llama cuando se produce un error durante el procesamiento de eventos.

Returns:

Instancia actualizada EventProcessorClientBuilder .

processEvent

public EventProcessorClientBuilder processEvent(Consumer processEvent)

Función a la que se llama para cada evento recibido por este .EventProcessorClient La entrada contiene el contexto de partición y los datos del evento.

Parameters:

processEvent - Devolución de llamada a la que se llama cuando este objeto EventProcessorClientrecibe un evento .

Returns:

Instancia actualizada EventProcessorClientBuilder .

processEvent

public EventProcessorClientBuilder processEvent(Consumer processEvent, Duration maxWaitTime)

Función a la que se llama para cada evento recibido por este .EventProcessorClient La entrada contiene el contexto de partición y los datos del evento. Si se establece el tiempo de espera máximo, la recepción esperará a que se reciba un evento y, si no se recibe ningún evento, se invocará al consumidor con datos de evento NULL.

Parameters:

processEvent - Devolución de llamada a la que se llama cuando este objeto recibe EventProcessorClient un evento o cuando ha expirado la duración máxima de espera.
maxWaitTime - Duración máxima del tiempo que se esperará para recibir un evento antes de invocar este controlador.

Returns:

Instancia actualizada EventProcessorClient .

processEventBatch

public EventProcessorClientBuilder processEventBatch(Consumer processEventBatch, int maxBatchSize)

Función a la que se llama para cada evento recibido por este .EventProcessorClient La entrada contiene el contexto de partición y los datos del evento. Si se establece el tiempo de espera máximo, la recepción esperará a que se reciba un evento y, si no se recibe ningún evento, se invocará al consumidor con datos de evento NULL.

Parameters:

processEventBatch - Devolución de llamada a la que se llama cuando este objeto recibe EventProcessorClient un evento o cuando ha expirado la duración máxima de espera.
maxBatchSize - Número máximo de eventos que estarán en la lista cuando se invoque esta devolución de llamada.

Returns:

Instancia actualizada EventProcessorClient .

processEventBatch

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

Función a la que se llama para cada evento recibido por este .EventProcessorClient La entrada contiene el contexto de partición y los datos del evento. Si se establece el tiempo de espera máximo, la recepción esperará a que se reciba un evento y, si no se recibe ningún evento, se invocará al consumidor con datos de evento 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 - Devolución de llamada a la que se llama cuando se recibe un evento o cuando ha expirado la duración máxima de espera.
maxBatchSize - Número máximo de eventos que estarán en la lista cuando se invoque esta devolución de llamada.
maxWaitTime - Duración máxima del tiempo que se espera para recibir un lote de eventos hasta el tamaño máximo del lote antes de invocar esta devolución de llamada.

Returns:

Instancia actualizada EventProcessorClient .

processPartitionClose

public EventProcessorClientBuilder processPartitionClose(Consumer closePartition)

Función a la que se llama cuando se detiene un procesamiento para una partición. La entrada contiene la información de partición junto con el motivo de detener el procesamiento de eventos para esta partición.

Parameters:

closePartition - Devolución de llamada a la que se llama después de que se detenga el procesamiento de una partición.

Returns:

Instancia actualizada EventProcessorClientBuilder .

processPartitionInitialization

public EventProcessorClientBuilder processPartitionInitialization(Consumer initializePartition)

Función a la que se llama antes de que se inicie el procesamiento para una partición. La entrada contiene la información de partición junto con una posición inicial predeterminada para procesar eventos que se usarán en el caso de que un punto de control no esté disponible en CheckpointStore. Los usuarios pueden actualizar esta posición si se prefiere una posición inicial diferente.

Parameters:

initializePartition - Devolución de llamada a la que se llama antes de que se inicie el procesamiento para una partición.

Returns:

Instancia actualizada EventProcessorClientBuilder .

proxyOptions

public EventProcessorClientBuilder proxyOptions(ProxyOptions proxyOptions)

Establece la configuración de proxy que se va a usar para EventHubAsyncClient. Cuando se configura un proxy, AMQP_WEB_SOCKETS se debe usar para el tipo de transporte.

Parameters:

proxyOptions - Las opciones de proxy que se van a usar.

Returns:

Objeto EventProcessorClientBuilder actualizado.

retry

@Deprecated
public EventProcessorClientBuilder retry(AmqpRetryOptions retryOptions)

Obsoleto

Establece la directiva de reintento para EventHubAsyncClient. Si no se especifica, se usan las opciones de reintento predeterminadas.

Parameters:

retryOptions - Directiva de reintento que se va a usar.

Returns:

Objeto EventProcessorClientBuilder actualizado.

retryOptions

public EventProcessorClientBuilder retryOptions(AmqpRetryOptions retryOptions)

Establece la directiva de reintento para EventHubAsyncClient. Si no se especifica, se usan las opciones de reintento predeterminadas.

Parameters:

retryOptions - Opciones de reintento que se van a usar.

Returns:

Objeto EventProcessorClientBuilder actualizado.

trackLastEnqueuedEventProperties

public EventProcessorClientBuilder trackLastEnqueuedEventProperties(boolean trackLastEnqueuedEventProperties)

Establece si el procesador de eventos debe solicitar información sobre el último evento en cola en su partición asociada y realizar un seguimiento de esa información a medida que se reciben los eventos.

Cuando se realiza un seguimiento de la información sobre el último evento en cola de la partición, cada evento recibido del servicio Event Hubs llevará metadatos sobre la partición que, de lo contrario, no lo haría. Esto da como resultado una pequeña cantidad de consumo de ancho de banda de red adicional que generalmente es un equilibrio favorable cuando se considera en contra de realizar periódicamente solicitudes de propiedades de partición mediante el cliente del centro de eventos.

Parameters:

trackLastEnqueuedEventProperties - true si los eventos resultantes realizarán un seguimiento de la última información puesta en cola de esa partición; false Lo contrario.

Returns:

Instancia actualizada EventProcessorClientBuilder .

transportType

public EventProcessorClientBuilder transportType(AmqpTransportType transport)

Establece el tipo de transporte por el que se produce toda la comunicación con Azure Event Hubs. El valor predeterminado es AMQP.

Parameters:

transport - Tipo de transporte que se va a usar.

Returns:

Objeto EventProcessorClientBuilder actualizado.

Se aplica a