ServiceBusClientBuilder.ServiceBusReceiverClientBuilder Class

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

public final class ServiceBusClientBuilder.ServiceBusReceiverClientBuilder

Builder for creating ServiceBusReceiverClient and ServiceBusReceiverAsyncClient to consume messages from Service Bus.

Method Summary

Modifier and Type Method and Description
ServiceBusReceiverAsyncClient buildAsyncClient()

Creates an asynchronous Service Bus receiver responsible for reading ServiceBusMessage from a specific queue or subscription.

ServiceBusReceiverClient buildClient()

Creates synchronous Service Bus receiver responsible for reading ServiceBusMessage from a specific queue or subscription.

ServiceBusReceiverClientBuilder disableAutoComplete()

Disables auto-complete and auto-abandon of received messages.

ServiceBusReceiverClientBuilder maxAutoLockRenewDuration(Duration maxAutoLockRenewDuration)

Sets the amount of time to continue auto-renewing the lock.

ServiceBusReceiverClientBuilder prefetchCount(int prefetchCount)

Sets the prefetch count of the receiver.

ServiceBusReceiverClientBuilder queueName(String queueName)

Sets the name of the queue to create a receiver for.

ServiceBusReceiverClientBuilder receiveMode(ServiceBusReceiveMode receiveMode)

Sets the receive mode for the receiver.

ServiceBusReceiverClientBuilder subQueue(SubQueue subQueue)

Sets the type of the SubQueue to connect to.

ServiceBusReceiverClientBuilder subscriptionName(String subscriptionName)

Sets the name of the subscription in the topic to listen to.

ServiceBusReceiverClientBuilder topicName(String topicName)

Sets the name of the topic.

Methods inherited from java.lang.Object

Method Details

buildAsyncClient

public ServiceBusReceiverAsyncClient buildAsyncClient()

Creates an asynchronous Service Bus receiver responsible for reading ServiceBusMessage from a specific queue or subscription.

Returns:

An new ServiceBusReceiverAsyncClient that receives messages from a queue or subscription.

buildClient

public ServiceBusReceiverClient buildClient()

Creates synchronous Service Bus receiver responsible for reading ServiceBusMessage from a specific queue or subscription.

Returns:

An new ServiceBusReceiverClient that receives messages from a queue or subscription.

disableAutoComplete

public ServiceBusClientBuilder.ServiceBusReceiverClientBuilder disableAutoComplete()

Disables auto-complete and auto-abandon of received messages. By default, a successfully processed message is complete(ServiceBusReceivedMessage message). If an error happens when the message is processed, it is abandon(ServiceBusReceivedMessage message).

Returns:

The modified ServiceBusReceiverClientBuilder object.

maxAutoLockRenewDuration

public ServiceBusClientBuilder.ServiceBusReceiverClientBuilder maxAutoLockRenewDuration(Duration maxAutoLockRenewDuration)

Sets the amount of time to continue auto-renewing the lock. Setting Duration#ZERO or null disables auto-renewal. For RECEIVE_AND_DELETE mode, auto-renewal is disabled.

A Service Bus queue or subscription in a topic will have a lock duration set at the resource level. When the receiver client pulls a message from the resource, the broker will apply an initial lock to the message. This initial lock lasts for the lock duration set at the resource level. If the client does not renew the initial lock before it expires then the message will be released and become available for other receivers. Each time the client renews the lock, the broker will extend the lock for the lock duration set at the resource level. To keep the message locked, the client will have to continuously renew the message lock before its expiration. maxAutoLockRenewDuration controls how long the background renewal task runs. So, it is possible that the previous renewed lock can be valid after the renewal task is disposed.

By default, the message lock renewal task will run for 5 minutes.

Parameters:

maxAutoLockRenewDuration - the amount of time to continue auto-renewing the lock. Duration#ZERO or null indicates that auto-renewal is disabled.

Returns:

The updated ServiceBusReceiverClientBuilder object.

prefetchCount

public ServiceBusClientBuilder.ServiceBusReceiverClientBuilder prefetchCount(int prefetchCount)

Sets the prefetch count of the receiver. For both PEEK_LOCK and RECEIVE_AND_DELETE modes the default value is 1. Prefetch speeds up the message flow by aiming to have a message readily available for local retrieval when and before the application asks for one using receiveMessages(). Setting a non-zero value will prefetch that number of messages. Setting the value to zero turns prefetch off.

Parameters:

prefetchCount - The prefetch count.

Returns:

The modified ServiceBusReceiverClientBuilder object.

queueName

public ServiceBusClientBuilder.ServiceBusReceiverClientBuilder queueName(String queueName)

Sets the name of the queue to create a receiver for.

Parameters:

queueName - Name of the queue.

Returns:

The modified ServiceBusReceiverClientBuilder object.

receiveMode

public ServiceBusClientBuilder.ServiceBusReceiverClientBuilder receiveMode(ServiceBusReceiveMode receiveMode)

Sets the receive mode for the receiver.

Parameters:

receiveMode - Mode for receiving messages.

Returns:

The modified ServiceBusReceiverClientBuilder object.

subQueue

public ServiceBusClientBuilder.ServiceBusReceiverClientBuilder subQueue(SubQueue subQueue)

Sets the type of the SubQueue to connect to.

Parameters:

subQueue - The type of the sub queue.

Returns:

The modified ServiceBusReceiverClientBuilder object.

subscriptionName

public ServiceBusClientBuilder.ServiceBusReceiverClientBuilder subscriptionName(String subscriptionName)

Sets the name of the subscription in the topic to listen to. topicName(String topicName) must also be set.

Parameters:

subscriptionName - Name of the subscription.

Returns:

The modified ServiceBusReceiverClientBuilder object.

topicName

public ServiceBusClientBuilder.ServiceBusReceiverClientBuilder topicName(String topicName)

Sets the name of the topic. subscriptionName(String subscriptionName) must also be set.

Parameters:

topicName - Name of the topic.

Returns:

The modified ServiceBusReceiverClientBuilder object.

Applies to