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 TypeMethodDescriptionvoid
addBuilderCustomizer
(com.azure.spring.cloud.core.customizer.AzureServiceClientBuilderCustomizer<com.azure.messaging.servicebus.ServiceBusClientBuilder.ServiceBusSessionReceiverClientBuilder> customizer) Add aServiceBusClientBuilder.ServiceBusSessionReceiverClientBuilder
customizer to customize all the session clients created from this factory.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
.void
Add a listener for this factory.void
addServiceBusClientBuilderCustomizer
(com.azure.spring.cloud.core.customizer.AzureServiceClientBuilderCustomizer<com.azure.messaging.servicebus.ServiceBusClientBuilder> customizer) Add aServiceBusClientBuilder
customizer to customize the shared client builder created in this factory, it's used to build other sender clients.com.azure.messaging.servicebus.ServiceBusSessionReceiverClient
createReceiver
(String name) Create aServiceBusSessionReceiverClient
to consume events from the specified queue.com.azure.messaging.servicebus.ServiceBusSessionReceiverClient
createReceiver
(String name, com.azure.spring.cloud.service.servicebus.properties.ServiceBusEntityType entityType) Create aServiceBusSessionReceiverClient
to consume events from the specified queue.void
destroy()
boolean
Remove a listener from the factory.void
setDefaultCredential
(com.azure.core.credential.TokenCredential defaultCredential) Set the default credential for all clients generated from this factory.void
setTokenCredentialResolver
(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
- thePropertiesSupplier
to supplyConsumerProperties
for each queue/topic entity.
-
-
Method Details
-
createReceiver
Description copied from interface:ServiceBusConsumerFactory
Create aServiceBusSessionReceiverClient
to consume events from the specified queue.- Specified by:
createReceiver
in 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:ServiceBusConsumerFactory
Create aServiceBusSessionReceiverClient
to consume events from the specified queue.- Specified by:
createReceiver
in interfaceServiceBusConsumerFactory
- Parameters:
name
- the destination entity name.entityType
- the Service Bus entity type.- Returns:
- ServiceBusReceiverClient queue receiver client.
-
addListener
Description copied from interface:ServiceBusConsumerFactory
Add a listener for this factory.- Specified by:
addListener
in interfaceServiceBusConsumerFactory
- Parameters:
listener
- the listener.
-
removeListener
Description copied from interface:ServiceBusConsumerFactory
Remove a listener from the factory.- Specified by:
removeListener
in interfaceServiceBusConsumerFactory
- Parameters:
listener
- the listener.- Returns:
- true if removed.
-
destroy
public void destroy()- Specified by:
destroy
in 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 aServiceBusClientBuilder
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 aServiceBusClientBuilder.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 valueentityName
.- Parameters:
entityName
- the entity name of the client.customizer
- the provided customizer.
-