Class DefaultServiceBusNamespaceConsumerFactory

java.lang.Object
com.azure.spring.messaging.servicebus.core.DefaultServiceBusNamespaceConsumerFactory
All Implemented Interfaces:
ServiceBusConsumerFactory, org.springframework.beans.factory.DisposableBean

public final class DefaultServiceBusNamespaceConsumerFactory extends Object implements ServiceBusConsumerFactory, org.springframework.beans.factory.DisposableBean
The ServiceBusConsumerFactory implementation to produce new ServiceBusSessionReceiverClient instances for provided NamespaceProperties and optional producer PropertiesSupplier on each createReceiver(java.lang.String) invocation.

ServiceBusSessionReceiverClient produced by this factory will share the same namespace level configuration, but if a configuration entry is provided at both producer and namespace level, the producer level configuration will take advantage.

Since:
5.22.0
  • Constructor Details

  • Method Details

    • createReceiver

      public com.azure.messaging.servicebus.ServiceBusSessionReceiverClient createReceiver(String name)
      Description copied from interface: ServiceBusConsumerFactory
      Create a ServiceBusSessionReceiverClient to consume events from the specified queue.
      Specified by:
      createReceiver in interface ServiceBusConsumerFactory
      Parameters:
      name - the destination entity name.
      Returns:
      ServiceBusReceiverClient queue receiver client.
    • createReceiver

      public com.azure.messaging.servicebus.ServiceBusSessionReceiverClient createReceiver(String name, com.azure.spring.cloud.service.servicebus.properties.ServiceBusEntityType entityType)
      Description copied from interface: ServiceBusConsumerFactory
      Create a ServiceBusSessionReceiverClient to consume events from the specified queue.
      Specified by:
      createReceiver in interface ServiceBusConsumerFactory
      Parameters:
      name - the destination entity name.
      entityType - the Service Bus entity type.
      Returns:
      ServiceBusReceiverClient queue receiver client.
    • addListener

      public void addListener(ServiceBusConsumerFactory.Listener listener)
      Description copied from interface: ServiceBusConsumerFactory
      Add a listener for this factory.
      Specified by:
      addListener in interface ServiceBusConsumerFactory
      Parameters:
      listener - the listener.
    • removeListener

      public boolean removeListener(ServiceBusConsumerFactory.Listener listener)
      Description copied from interface: ServiceBusConsumerFactory
      Remove a listener from the factory.
      Specified by:
      removeListener in interface ServiceBusConsumerFactory
      Parameters:
      listener - the listener.
      Returns:
      true if removed.
    • destroy

      public void destroy()
      Specified by:
      destroy in interface org.springframework.beans.factory.DisposableBean
    • setTokenCredentialResolver

      public void setTokenCredentialResolver(com.azure.spring.cloud.core.credential.AzureCredentialResolver<com.azure.core.credential.TokenCredential> tokenCredentialResolver)
      Set the token credential resolver.
      Parameters:
      tokenCredentialResolver - The token credential resolver.
    • setDefaultCredential

      public void setDefaultCredential(com.azure.core.credential.TokenCredential defaultCredential)
      Set the default credential for all clients generated from this factory.
      Parameters:
      defaultCredential - The default credential.
    • addServiceBusClientBuilderCustomizer

      public void addServiceBusClientBuilderCustomizer(com.azure.spring.cloud.core.customizer.AzureServiceClientBuilderCustomizer<com.azure.messaging.servicebus.ServiceBusClientBuilder> customizer)
      Add a ServiceBusClientBuilder customizer to customize the shared client builder created in this factory, it's used to build other sender clients.
      Parameters:
      customizer - the provided builder customizer.
    • addBuilderCustomizer

      public void addBuilderCustomizer(com.azure.spring.cloud.core.customizer.AzureServiceClientBuilderCustomizer<com.azure.messaging.servicebus.ServiceBusClientBuilder.ServiceBusSessionReceiverClientBuilder> customizer)
      Add a ServiceBusClientBuilder.ServiceBusSessionReceiverClientBuilder customizer to customize all the session clients created from this factory.
      Parameters:
      customizer - the provided builder customizer.
    • addBuilderCustomizer

      public void addBuilderCustomizer(String entityName, com.azure.spring.cloud.core.customizer.AzureServiceClientBuilderCustomizer<com.azure.messaging.servicebus.ServiceBusClientBuilder.ServiceBusSessionReceiverClientBuilder> customizer)
      Add a session receiver client builder customizer to customize the clients created from this factory with Service Bus entity name of value entityName.
      Parameters:
      entityName - the entity name of the client.
      customizer - the provided customizer.