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
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.azure.spring.messaging.servicebus.core.ServiceBusConsumerFactory
ServiceBusConsumerFactory.Listener -
Constructor Summary
ConstructorsConstructorDescriptionDefaultServiceBusNamespaceConsumerFactory(NamespaceProperties namespaceProperties) Construct a factory with the provided namespace level configuration.DefaultServiceBusNamespaceConsumerFactory(NamespaceProperties namespaceProperties, PropertiesSupplier<ConsumerIdentifier, ConsumerProperties> supplier) Construct a factory with the provided namespace level configuration and producerPropertiesSupplier. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddBuilderCustomizer(com.azure.spring.cloud.core.customizer.AzureServiceClientBuilderCustomizer<com.azure.messaging.servicebus.ServiceBusClientBuilder.ServiceBusSessionReceiverClientBuilder> customizer) Add aServiceBusClientBuilder.ServiceBusSessionReceiverClientBuildercustomizer to customize all the session clients created from this factory.voidaddBuilderCustomizer(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 valueentityName.voidAdd a listener for this factory.voidaddServiceBusClientBuilderCustomizer(com.azure.spring.cloud.core.customizer.AzureServiceClientBuilderCustomizer<com.azure.messaging.servicebus.ServiceBusClientBuilder> customizer) Add aServiceBusClientBuildercustomizer to customize the shared client builder created in this factory, it's used to build other sender clients.com.azure.messaging.servicebus.ServiceBusSessionReceiverClientcreateReceiver(String name) Create aServiceBusSessionReceiverClientto consume events from the specified queue.com.azure.messaging.servicebus.ServiceBusSessionReceiverClientcreateReceiver(String name, com.azure.spring.cloud.service.servicebus.properties.ServiceBusEntityType entityType) Create aServiceBusSessionReceiverClientto consume events from the specified queue.voiddestroy()booleanRemove a listener from the factory.voidsetDefaultCredential(com.azure.core.credential.TokenCredential defaultCredential) Set the default credential for all clients generated from this factory.voidsetTokenCredentialResolver(com.azure.spring.cloud.core.credential.AzureCredentialResolver<com.azure.core.credential.TokenCredential> tokenCredentialResolver) Set the token credential resolver.
-
Constructor Details
-
DefaultServiceBusNamespaceConsumerFactory
Construct a factory with the provided namespace level configuration.- Parameters:
namespaceProperties- the namespace properties
-
DefaultServiceBusNamespaceConsumerFactory
public DefaultServiceBusNamespaceConsumerFactory(NamespaceProperties namespaceProperties, PropertiesSupplier<ConsumerIdentifier, ConsumerProperties> supplier) Construct a factory with the provided namespace level configuration and producerPropertiesSupplier.- Parameters:
namespaceProperties- the namespace properties.supplier- thePropertiesSupplierto supplyConsumerPropertiesfor each queue/topic entity.
-
-
Method Details
-
createReceiver
Description copied from interface:ServiceBusConsumerFactoryCreate aServiceBusSessionReceiverClientto consume events from the specified queue.- Specified by:
createReceiverin interfaceServiceBusConsumerFactory- 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:ServiceBusConsumerFactoryCreate aServiceBusSessionReceiverClientto consume events from the specified queue.- Specified by:
createReceiverin interfaceServiceBusConsumerFactory- Parameters:
name- the destination entity name.entityType- the Service Bus entity type.- Returns:
- ServiceBusReceiverClient queue receiver client.
-
addListener
Description copied from interface:ServiceBusConsumerFactoryAdd a listener for this factory.- Specified by:
addListenerin interfaceServiceBusConsumerFactory- Parameters:
listener- the listener.
-
removeListener
Description copied from interface:ServiceBusConsumerFactoryRemove a listener from the factory.- Specified by:
removeListenerin interfaceServiceBusConsumerFactory- Parameters:
listener- the listener.- Returns:
- true if removed.
-
destroy
public void destroy()- Specified by:
destroyin interfaceorg.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 aServiceBusClientBuildercustomizer 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 aServiceBusClientBuilder.ServiceBusSessionReceiverClientBuildercustomizer 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 valueentityName.- Parameters:
entityName- the entity name of the client.customizer- the provided customizer.
-