Compartir a través de


ServiceBusClientBuilder Clase

  • java.lang.Object
    • com.azure.messaging.servicebus.ServiceBusClientBuilder

Implementaciones

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

Esta clase proporciona una API fluent builder para ayudar a la creación de instancias de los clientes para enviar y recibir mensajes hacia o desde entidades de Service Bus.

Las credenciales son necesarias para realizar operaciones con Azure Service Bus. Se pueden establecer mediante uno de los métodos siguientes:

La credencial usada en los ejemplos siguientes es DefaultAzureCredential para la autenticación. 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 Identidad de Azure".

Clientes y sub-generadores

ServiceBusClientBuilder puede crear instancias de varios clientes. El cliente al que se va a crear una instancia depende de si los usuarios publican o reciben mensajes y si la entidad tiene habilitadas las sesiones de Service Bus .

Envío de mensajes

Ejemplo: Crear una instancia de un remitente sincrónico y enviar un mensaje

En el ejemplo de código siguiente se muestra la creación del cliente ServiceBusSenderClient sincrónico y el envío de un mensaje. fullyQualifiedNamespace es el nombre de host del espacio de nombres de Service Bus. Aparece en el panel "Essentials" después de navegar al espacio de nombres de Service Bus a través de Azure Portal. La credencial usada se debe DefaultAzureCredential a que combina credenciales usadas habitualmente en la implementación y el desarrollo y elige la credencial que se usará en función de su entorno en ejecución. Cuando el rendimiento sea importante, considere la posibilidad de usar ServiceBusMessageBatch para publicar varios mensajes a la vez.

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

 // 'fullyQualifiedNamespace' will look similar to "{your-namespace}.servicebus.windows.net"
 ServiceBusSenderClient sender = new ServiceBusClientBuilder()
     .credential(fullyQualifiedNamespace, credential)
     .sender()
     .queueName(queueName)
     .buildClient();

 sender.sendMessage(new ServiceBusMessage("Foo bar"));

Consumo de mensajes

Hay varios clientes para consumir mensajes de una entidad de Service Bus (que no tiene habilitadas las sesiones de Service Bus ).

Ejemplo: Crear una instancia de un receptor asincrónico

En el ejemplo de código siguiente se muestra cómo crear un receptor asincrónico. La credencial usada es DefaultAzureCredential para la autenticación. Es adecuado para la mayoría de los escenarios, incluidos los entornos de desarrollo y producción locales. PEEK_LOCK y disableAutoComplete() se recomiendan encarecidamente para que los usuarios tengan control sobre la liquidación de mensajes.

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

 // 'fullyQualifiedNamespace' will look similar to "{your-namespace}.servicebus.windows.net"
 // 'disableAutoComplete' indicates that users will explicitly settle their message.
 ServiceBusReceiverAsyncClient asyncReceiver = new ServiceBusClientBuilder()
     .credential(fullyQualifiedNamespace, credential)
     .receiver()
     .disableAutoComplete()
     .queueName(queueName)
     .buildAsyncClient();

 // When users are done with the receiver, dispose of the receiver.
 // Clients should be long-lived objects as they require resources
 // and time to establish a connection to the service.
 asyncReceiver.close();

Ejemplo: Creación de instancias ServiceBusProcessorClient

En el ejemplo de código siguiente se muestra cómo crear un cliente de procesador. El cliente de procesador se recomienda para la mayoría de los escenarios de producción, ya que ofrece recuperación de conexiones. La credencial usada es DefaultAzureCredential para la autenticación. Es adecuado para la mayoría de los escenarios, incluidos los entornos de desarrollo y producción locales. PEEK_LOCK y disableAutoComplete() se recomiendan encarecidamente para que los usuarios tengan control sobre la liquidación de mensajes.

// Function that gets called whenever a message is received.
 Consumer<ServiceBusReceivedMessageContext> processMessage = context -> {
     final ServiceBusReceivedMessage message = context.getMessage();
     // Randomly complete or abandon each message. Ideally, in real-world scenarios, if the business logic
     // handling message reaches desired state such that it doesn't require Service Bus to redeliver
     // the same message, then context.complete() should be called otherwise context.abandon().
     final boolean success = Math.random() < 0.5;
     if (success) {
         try {
             context.complete();
         } catch (RuntimeException error) {
             System.out.printf("Completion of the message %s failed.%n Error: %s%n",
                 message.getMessageId(), error);
         }
     } else {
         try {
             context.abandon();
         } catch (RuntimeException error) {
             System.out.printf("Abandoning of the message %s failed.%nError: %s%n",
                 message.getMessageId(), error);
         }
     }
 };

 // Sample code that gets called if there's an error
 Consumer<ServiceBusErrorContext> processError = errorContext -> {
     if (errorContext.getException() instanceof ServiceBusException) {
         ServiceBusException exception = (ServiceBusException) errorContext.getException();

         System.out.printf("Error source: %s, reason %s%n", errorContext.getErrorSource(),
             exception.getReason());
     } else {
         System.out.printf("Error occurred: %s%n", errorContext.getException());
     }
 };

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

 // Create the processor client via the builder and its sub-builder
 // 'fullyQualifiedNamespace' will look similar to "{your-namespace}.servicebus.windows.net"
 ServiceBusProcessorClient processorClient = new ServiceBusClientBuilder()
     .credential(fullyQualifiedNamespace, tokenCredential)
     .processor()
     .queueName(queueName)
     .receiveMode(ServiceBusReceiveMode.PEEK_LOCK)
     .disableAutoComplete()  // Make sure to explicitly opt in to manual settlement (e.g. complete, abandon).
     .processMessage(processMessage)
     .processError(processError)
     .disableAutoComplete()
     .buildProcessorClient();

 // Starts the processor in the background. Control returns immediately.
 processorClient.start();

 // Stop processor and dispose when done processing messages.
 processorClient.stop();
 processorClient.close();

Consumo de mensajes de una entidad de Service Bus habilitada para sesión

Service Bus admite el control conjunto y ordenado de secuencias no enlazadas de mensajes a través de sesiones de Service Bus. Las sesiones se pueden usar como una primera entrada, primero en salir (FIFO) procesamiento de mensajes. Las colas y temas o suscripciones admiten sesiones de Service Bus; sin embargo, se debe habilitar en el momento de la creación de la entidad.

Ejemplo: Envío de un mensaje a una cola habilitada para sesión

En el fragmento de código siguiente se muestra cómo enviar un mensaje a una cola habilitada para sesiones de Service Bus . Al establecer setMessageId(String messageId) la propiedad en "greetings" se enviará el mensaje a una sesión de Service Bus con un identificador de "greetings".

// 'fullyQualifiedNamespace' will look similar to "{your-namespace}.servicebus.windows.net"
 ServiceBusSenderClient sender = new ServiceBusClientBuilder()
     .credential(fullyQualifiedNamespace, new DefaultAzureCredentialBuilder().build())
     .sender()
     .queueName(sessionEnabledQueueName)
     .buildClient();

 // Setting sessionId publishes that message to a specific session, in this case, "greeting".
 ServiceBusMessage message = new ServiceBusMessage("Hello world")
     .setSessionId("greetings");

 sender.sendMessage(message);

 // Dispose of the sender.
 sender.close();

Ejemplo: Recepción de mensajes de la primera sesión disponible

Para procesar mensajes desde la primera sesión disponible, cambie a ServiceBusSessionReceiverClientBuilder y compile el cliente receptor de sesión. Use acceptNextSession() para buscar la primera sesión disponible desde la que procesar los mensajes.

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

 // 'fullyQualifiedNamespace' will look similar to "{your-namespace}.servicebus.windows.net"
 // 'disableAutoComplete' indicates that users will explicitly settle their message.
 ServiceBusSessionReceiverAsyncClient sessionReceiver = new ServiceBusClientBuilder()
     .credential(fullyQualifiedNamespace, credential)
     .sessionReceiver()
     .disableAutoComplete()
     .queueName(sessionEnabledQueueName)
     .buildAsyncClient();

 // Creates a client to receive messages from the first available session. It waits until
 // AmqpRetryOptions.getTryTimeout() elapses. If no session is available within that operation timeout, it
 // completes with a retriable error. Otherwise, a receiver is returned when a lock on the session is acquired.
 Mono<ServiceBusReceiverAsyncClient> receiverMono = sessionReceiver.acceptNextSession();

 Flux<Void> receiveMessagesFlux = Flux.usingWhen(receiverMono,
     receiver -> receiver.receiveMessages().flatMap(message -> {
         System.out.println("Received message: " + message.getBody());

         // Explicitly settle the message via complete, abandon, defer, dead-letter, etc.
         if (isMessageProcessed) {
             return receiver.complete(message);
         } else {
             return receiver.abandon(message);
         }
     }),
     receiver -> Mono.fromRunnable(() -> {
         // Dispose of the receiver and sessionReceiver when done receiving messages.
         receiver.close();
         sessionReceiver.close();
     }));

 // This is a non-blocking call that moves onto the next line of code after setting up and starting the receive
 // operation. Customers can keep a reference to `subscription` and dispose of it when they want to stop
 // receiving messages.
 Disposable subscription = receiveMessagesFlux.subscribe(unused -> {
 }, error -> System.out.println("Error occurred: " + error),
     () -> System.out.println("Receiving complete."));

Ejemplo: Procesar mensajes de todas las sesiones

En el ejemplo de código siguiente se muestra la creación de que ServiceBusProcessorClient procesa todas las sesiones disponibles en la cola. ServiceBusSessionProcessorClientBuilder#maxConcurrentSessions(int) indica cuántas sesiones procesará el procesador al mismo tiempo. La credencial usada es DefaultAzureCredential para la autenticación. Es adecuado para la mayoría de los escenarios, incluidos los entornos de desarrollo y producción locales. PEEK_LOCK y disableAutoComplete() son muy recomendables para que los usuarios tengan control sobre la liquidación de mensajes.

// Function that gets called whenever a message is received.
 Consumer<ServiceBusReceivedMessageContext> onMessage = context -> {
     ServiceBusReceivedMessage message = context.getMessage();
     System.out.printf("Processing message. Session: %s, Sequence #: %s. Contents: %s%n",
         message.getSessionId(), message.getSequenceNumber(), message.getBody());
 };

 Consumer<ServiceBusErrorContext> onError = context -> {
     System.out.printf("Error when receiving messages from namespace: '%s'. Entity: '%s'%n",
         context.getFullyQualifiedNamespace(), context.getEntityPath());

     if (context.getException() instanceof ServiceBusException) {
         ServiceBusException exception = (ServiceBusException) context.getException();

         System.out.printf("Error source: %s, reason %s%n", context.getErrorSource(),
             exception.getReason());
     } else {
         System.out.printf("Error occurred: %s%n", context.getException());
     }
 };

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

 // Create the processor client via the builder and its sub-builder
 // 'fullyQualifiedNamespace' will look similar to "{your-namespace}.servicebus.windows.net"
 ServiceBusProcessorClient sessionProcessor = new ServiceBusClientBuilder()
     .credential(fullyQualifiedNamespace, tokenCredential)
     .sessionProcessor()
     .queueName(sessionEnabledQueueName)
     .receiveMode(ServiceBusReceiveMode.PEEK_LOCK)
     .disableAutoComplete()
     .maxConcurrentSessions(2)
     .processMessage(onMessage)
     .processError(onError)
     .buildProcessorClient();

 // Starts the processor in the background. Control returns immediately.
 sessionProcessor.start();

 // Stop processor and dispose when done processing messages.
 sessionProcessor.stop();
 sessionProcessor.close();

Uso compartido de conexiones

La creación de una conexión a Service Bus requiere recursos. Si la arquitectura lo permite, una aplicación debe compartir la conexión entre los clientes que se pueden lograr compartiendo el generador de nivel superior, como se muestra a continuación.

Uso compartido de una conexión entre clientes

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

 // 'fullyQualifiedNamespace' will look similar to "{your-namespace}.servicebus.windows.net"
 // Any clients created from this builder will share the underlying connection.
 ServiceBusClientBuilder sharedConnectionBuilder = new ServiceBusClientBuilder()
     .credential(fullyQualifiedNamespace, credential);

 // Create receiver and sender which will share the connection.
 ServiceBusReceiverClient receiver = sharedConnectionBuilder
     .receiver()
     .receiveMode(ServiceBusReceiveMode.PEEK_LOCK)
     .queueName(queueName)
     .buildClient();
 ServiceBusSenderClient sender = sharedConnectionBuilder
     .sender()
     .queueName(queueName)
     .buildClient();

 // Use the clients and finally close them.
 try {
     sender.sendMessage(new ServiceBusMessage("payload"));
     receiver.receiveMessages(1);
 } finally {
     // Clients should be long-lived objects as they require resources
     // and time to establish a connection to the service.
     sender.close();
     receiver.close();
 }

Resumen del constructor

Constructor Description
ServiceBusClientBuilder()

Crea una nueva instancia con el transporte AMQPpredeterminado .

Resumen del método

Modificador y tipo Método y descripción
ServiceBusClientBuilder clientOptions(ClientOptions clientOptions)

Establece el objeto ClientOptions que se va a enviar desde el cliente creado a partir de este generador, lo que permite la personalización de determinadas propiedades, así como la adición de información de encabezado personalizada.

ServiceBusClientBuilder configuration(Configuration configuration)

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

ServiceBusClientBuilder connectionString(String connectionString)

Establece el cadena de conexión para un espacio de nombres de Service Bus o un recurso de Service Bus específico.

ServiceBusClientBuilder credential(AzureNamedKeyCredential credential)

Establece la credencial con las directivas de acceso compartido para el recurso de Service Bus.

ServiceBusClientBuilder credential(AzureSasCredential credential)

Establece la credencial con firma de acceso compartido para el recurso de Service Bus.

ServiceBusClientBuilder credential(TokenCredential credential)

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

ServiceBusClientBuilder credential(String fullyQualifiedNamespace, AzureNamedKeyCredential credential)

Establece la credencial con las directivas de acceso compartido para el recurso de Service Bus.

ServiceBusClientBuilder credential(String fullyQualifiedNamespace, AzureSasCredential credential)

Establece la credencial con firma de acceso compartido para el recurso de Service Bus.

ServiceBusClientBuilder credential(String fullyQualifiedNamespace, TokenCredential credential)

Establece la credencial mediante un TokenCredential para el recurso de Service Bus.

ServiceBusClientBuilder customEndpointAddress(String customEndpointAddress)

Establece una dirección de punto de conexión personalizada al conectarse al servicio Service Bus.

ServiceBusClientBuilder enableCrossEntityTransactions()

Habilite la transacción entre entidades en la conexión a Service Bus.

ServiceBusClientBuilder fullyQualifiedNamespace(String fullyQualifiedNamespace)

Establece el espacio de nombres completo para Service Bus.

ServiceBusProcessorClientBuilder processor()

Nueva instancia de ServiceBusProcessorClientBuilder usada para configurar ServiceBusProcessorClient la instancia.

ServiceBusClientBuilder proxyOptions(ProxyOptions proxyOptions)

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

ServiceBusReceiverClientBuilder receiver()

Nueva instancia de ServiceBusReceiverClientBuilder usada para configurar receptores de mensajes de Service Bus.

ServiceBusClientBuilder retryOptions(AmqpRetryOptions retryOptions)

Establece las opciones de reintento para los clientes de Service Bus.

ServiceBusRuleManagerBuilder ruleManager()

Nueva instancia de usada para configurar una instancia del administrador de ServiceBusRuleManagerBuilder reglas de Service Bus.

ServiceBusSenderClientBuilder sender()

Nueva instancia de ServiceBusSenderClientBuilder usada para configurar remitentes de mensajes de Service Bus.

ServiceBusSessionProcessorClientBuilder sessionProcessor()

Nueva instancia de usada para configurar una instancia de ServiceBusSessionProcessorClientBuilder procesador de Service Bus que procesa sesiones.

ServiceBusSessionReceiverClientBuilder sessionReceiver()

Nueva instancia de usada para configurar receptores de ServiceBusSessionReceiverClientBuilder mensajes de Service Bus compatibles con sesión .

ServiceBusClientBuilder transportType(AmqpTransportType transportType)

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

Métodos heredados de java.lang.Object

Detalles del constructor

ServiceBusClientBuilder

public ServiceBusClientBuilder()

Crea una nueva instancia con el transporte AMQPpredeterminado .

Detalles del método

clientOptions

public ServiceBusClientBuilder clientOptions(ClientOptions clientOptions)

Establece el objeto ClientOptions que se va a enviar desde el cliente creado a partir de este generador, lo que permite la personalización de determinadas propiedades, así como la adición de información de encabezado personalizada. Consulte la ClientOptions documentación para obtener más información.

Parameters:

clientOptions - que se va a establecer en el cliente.

Returns:

Objeto ServiceBusClientBuilder actualizado.

configuration

public ServiceBusClientBuilder 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 clientes de Service Bus. Use NONE para omitir el uso de opciones de configuración durante la construcción.

Parameters:

configuration - Almacén de configuración que se usa para configurar clientes de Service Bus.

Returns:

Objeto ServiceBusClientBuilder actualizado.

connectionString

public ServiceBusClientBuilder connectionString(String connectionString)

Establece el cadena de conexión para un espacio de nombres de Service Bus o un recurso de Service Bus específico.

Parameters:

connectionString - Cadena de conexión para un espacio de nombres de Service Bus o un recurso de Service Bus específico.

Returns:

Objeto ServiceBusClientBuilder actualizado.

credential

public ServiceBusClientBuilder credential(AzureNamedKeyCredential credential)

Establece la credencial con las directivas de acceso compartido para el recurso de Service Bus. Puede encontrar las directivas de acceso compartido en Azure Portal o la CLI de Azure. Por ejemplo, en el portal, "Directivas de acceso compartido" tiene "directiva" y su "Clave principal" y "Clave secundaria". El atributo 'name' de AzureNamedKeyCredential es la 'directiva' en el portal y el atributo 'key' puede ser 'Primary Key' o 'Secondary Key'. Este método y connectionString(String connectionString) toma la misma información en diferentes formas. Pero permite actualizar el nombre y la clave.

Parameters:

credential - AzureNamedKeyCredential que se usará para la autenticación.

Returns:

Objeto ServiceBusClientBuilder actualizado.

credential

public ServiceBusClientBuilder credential(AzureSasCredential credential)

Establece la credencial con firma de acceso compartido para el recurso de Service Bus. Consulte Control de acceso de Service Bus con firmas de acceso compartido.

Parameters:

credential - AzureSasCredential que se usará para la autenticación.

Returns:

Objeto ServiceBusClientBuilder actualizado.

credential

public ServiceBusClientBuilder 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 autenticación. Los controles de acceso se pueden especificar mediante el espacio de nombres de ServiceBus o la entidad de Service Bus solicitada, en función de la configuración de Azure.

Returns:

Objeto ServiceBusClientBuilder actualizado.

credential

public ServiceBusClientBuilder credential(String fullyQualifiedNamespace, AzureNamedKeyCredential credential)

Establece la credencial con las directivas de acceso compartido para el recurso de Service Bus. Puede encontrar las directivas de acceso compartido en Azure Portal o la CLI de Azure. Por ejemplo, en el portal, "Directivas de acceso compartido" tiene "directiva" y su "Clave principal" y "Clave secundaria". El atributo 'name' de AzureNamedKeyCredential es la 'directiva' en el portal y el atributo 'key' puede ser 'Primary Key' o 'Secondary Key'. Este método y connectionString(String connectionString) toma la misma información en diferentes formas. Pero permite actualizar el nombre y la clave.

Parameters:

fullyQualifiedNamespace - Espacio de nombres completo para Service Bus.
credential - AzureNamedKeyCredential que se usará para la autenticación.

Returns:

Objeto ServiceBusClientBuilder actualizado.

credential

public ServiceBusClientBuilder credential(String fullyQualifiedNamespace, AzureSasCredential credential)

Establece la credencial con firma de acceso compartido para el recurso de Service Bus. Consulte Control de acceso de Service Bus con firmas de acceso compartido.

Parameters:

fullyQualifiedNamespace - Espacio de nombres completo para Service Bus.
credential - AzureSasCredential que se usará para la autenticación.

Returns:

Objeto ServiceBusClientBuilder actualizado.

credential

public ServiceBusClientBuilder credential(String fullyQualifiedNamespace, TokenCredential credential)

Establece la credencial mediante un TokenCredential para el recurso de Service Bus. azure-identity tiene varias TokenCredential implementaciones que se pueden usar para autenticar el acceso al recurso de Service Bus.

Parameters:

fullyQualifiedNamespace - Espacio de nombres completo para Service Bus.
credential - Credencial de token que se va a usar para la autenticación. Los controles de acceso se pueden especificar mediante el espacio de nombres de ServiceBus o la entidad de Service Bus solicitada, en función de la configuración de Azure.

Returns:

Objeto ServiceBusClientBuilder actualizado.

customEndpointAddress

public ServiceBusClientBuilder customEndpointAddress(String customEndpointAddress)

Establece una dirección de punto de conexión personalizada al conectarse al servicio Service Bus. Esto puede ser útil cuando la red no permite conectarse a la dirección del punto de conexión estándar Azure Service Bus, 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 transportType)

Parameters:

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

Returns:

Objeto ServiceBusClientBuilder actualizado.

enableCrossEntityTransactions

public ServiceBusClientBuilder enableCrossEntityTransactions()

Habilite la transacción entre entidades en la conexión a Service Bus. Use esta característica solo cuando el ámbito de transacción abarque diferentes entidades de Service Bus. Esta característica se logra mediante el enrutamiento de todos los mensajes a través de una entidad "send-via" en el lado servidor, como se explica a continuación. Una vez creados los clientes para varias entidades, la primera entidad en la que se produce una operación se convierte en la entidad a través de la cual todos los envíos posteriores se enrutarán a través de la entidad ("send-via"). Esto permite al servicio realizar una transacción diseñada para abarcar varias entidades. Esto significa que las entidades posteriores que realizan su primera operación deben ser remitentes, o si son receptores, deben estar en la misma entidad que la entidad inicial a través de la que todos los envíos se enrutan a través de (de lo contrario, el servicio no podría asegurarse de que la transacción se confirma porque no puede enrutar una operación de recepción a través de una entidad diferente). Por ejemplo, si tiene senderA (para la entidad A) y ReceiverB (para la entidad B) que se crean a partir de un cliente con transacciones entre entidades habilitadas, tendría que recibir primero con ReceiverB para permitir que esto funcione. Si primero envía a la entidad A e intenta recibir de la entidad B, se produciría una excepción.

Evitar el uso de la API que no es de transacción en este cliente

Dado que esta característica configurará la conexión a Service Bus optimizada para habilitar esta característica. Una vez configurados todos los clientes, el primer receptor o remitente usado inicializará la cola "send-via" como una sola entidad de transferencia de mensajes. Todos los mensajes fluirán a través de esta cola. Por lo tanto, este cliente no es adecuado para ninguna API que no sea de transacción.

Cuándo no habilitar esta característica

Si la transacción solo participa en una entidad de Service Bus. Por ejemplo, recibe de una cola o suscripción y desea liquidar sus propios mensajes que forman parte de una transacción.

Returns:

Objeto ServiceBusSenderClientBuilder actualizado.

fullyQualifiedNamespace

public ServiceBusClientBuilder fullyQualifiedNamespace(String fullyQualifiedNamespace)

Establece el espacio de nombres completo para Service Bus.

Parameters:

fullyQualifiedNamespace - Espacio de nombres completo para Service Bus.

Returns:

Objeto ServiceBusClientBuilder actualizado.

processor

public ServiceBusClientBuilder.ServiceBusProcessorClientBuilder processor()

Nueva instancia de ServiceBusProcessorClientBuilder usada para configurar ServiceBusProcessorClient la instancia.

Returns:

Nueva instancia de ServiceBusProcessorClientBuilder.

proxyOptions

public ServiceBusClientBuilder proxyOptions(ProxyOptions proxyOptions)

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

Parameters:

proxyOptions - Configuración de proxy que se va a usar.

Returns:

Objeto ServiceBusClientBuilder actualizado.

receiver

public ServiceBusClientBuilder.ServiceBusReceiverClientBuilder receiver()

Nueva instancia de ServiceBusReceiverClientBuilder usada para configurar receptores de mensajes de Service Bus.

Returns:

Nueva instancia de ServiceBusReceiverClientBuilder.

retryOptions

public ServiceBusClientBuilder retryOptions(AmqpRetryOptions retryOptions)

Establece las opciones de reintento para los clientes de Service Bus. Si no se especifica, se usan las opciones de reintento predeterminadas.

Parameters:

retryOptions - Las opciones de reintento que se van a usar.

Returns:

Objeto ServiceBusClientBuilder actualizado.

ruleManager

public ServiceBusClientBuilder.ServiceBusRuleManagerBuilder ruleManager()

Nueva instancia de usada para configurar una instancia del administrador de ServiceBusRuleManagerBuilder reglas de Service Bus.

Returns:

Nueva instancia de ServiceBusRuleManagerBuilder.

sender

public ServiceBusClientBuilder.ServiceBusSenderClientBuilder sender()

Nueva instancia de ServiceBusSenderClientBuilder usada para configurar remitentes de mensajes de Service Bus.

Returns:

Nueva instancia de ServiceBusSenderClientBuilder.

sessionProcessor

public ServiceBusClientBuilder.ServiceBusSessionProcessorClientBuilder sessionProcessor()

Nueva instancia de usada para configurar una instancia de ServiceBusSessionProcessorClientBuilder procesador de Service Bus que procesa sesiones.

Returns:

Nueva instancia de ServiceBusSessionProcessorClientBuilder.

sessionReceiver

public ServiceBusClientBuilder.ServiceBusSessionReceiverClientBuilder sessionReceiver()

Nueva instancia de usada para configurar receptores de ServiceBusSessionReceiverClientBuilder mensajes de Service Bus compatibles con sesión .

Returns:

Nueva instancia de ServiceBusSessionReceiverClientBuilder.

transportType

public ServiceBusClientBuilder transportType(AmqpTransportType transportType)

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

Parameters:

transportType - Tipo de transporte que se va a usar.

Returns:

Objeto ServiceBusClientBuilder actualizado.

Se aplica a