Class RabbitMessageChannelBinder

java.lang.Object
org.springframework.cloud.stream.binder.AbstractBinder<org.springframework.messaging.MessageChannel, org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties>, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>>
org.springframework.cloud.stream.binder.AbstractMessageChannelBinder<org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties>, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner>
org.springframework.cloud.stream.binder.rabbit.RabbitMessageChannelBinder
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.cloud.stream.binder.Binder<org.springframework.messaging.MessageChannel, org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties>, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>>, org.springframework.cloud.stream.binder.ExtendedBindingProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties, org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>, org.springframework.cloud.stream.binder.ExtendedPropertiesBinder<org.springframework.messaging.MessageChannel, org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties, org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>, org.springframework.cloud.stream.binder.PollableConsumerBinder<org.springframework.messaging.MessageHandler, org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties>>, org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationEventPublisherAware

public class RabbitMessageChannelBinder extends org.springframework.cloud.stream.binder.AbstractMessageChannelBinder<org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties>, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner> implements org.springframework.cloud.stream.binder.ExtendedPropertiesBinder<org.springframework.messaging.MessageChannel, org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties, org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>, org.springframework.beans.factory.DisposableBean
A Binder implementation backed by RabbitMQ.
Author:
Mark Fisher, Gary Russell, Jennifer Hickey, Gunnar Hillert, Ilayaperumal Gopinathan, David Turanski, Marius Bogoevici, Artem Bilan, Soby Chacko, Oleg Zhurakousky, Christian Tzolov, Byungjun You
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.springframework.cloud.stream.binder.AbstractMessageChannelBinder

    org.springframework.cloud.stream.binder.AbstractMessageChannelBinder.ErrorInfrastructure, org.springframework.cloud.stream.binder.AbstractMessageChannelBinder.PolledConsumerResources
  • Field Summary

    Fields inherited from class org.springframework.cloud.stream.binder.AbstractMessageChannelBinder

    provisioningProvider

    Fields inherited from class org.springframework.cloud.stream.binder.AbstractBinder

    logger
  • Constructor Summary

    Constructors
    Constructor
    Description
    RabbitMessageChannelBinder(org.springframework.amqp.rabbit.connection.ConnectionFactory connectionFactory, org.springframework.boot.amqp.autoconfigure.RabbitProperties rabbitProperties, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner provisioningProvider)
     
    RabbitMessageChannelBinder(org.springframework.amqp.rabbit.connection.ConnectionFactory connectionFactory, org.springframework.boot.amqp.autoconfigure.RabbitProperties rabbitProperties, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner provisioningProvider, org.springframework.cloud.stream.config.ListenerContainerCustomizer<org.springframework.amqp.rabbit.listener.MessageListenerContainer> containerCustomizer)
     
    RabbitMessageChannelBinder(org.springframework.amqp.rabbit.connection.ConnectionFactory connectionFactory, org.springframework.boot.amqp.autoconfigure.RabbitProperties rabbitProperties, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner provisioningProvider, org.springframework.cloud.stream.config.ListenerContainerCustomizer<org.springframework.amqp.rabbit.listener.MessageListenerContainer> containerCustomizer, org.springframework.cloud.stream.config.MessageSourceCustomizer<org.springframework.integration.amqp.inbound.AmqpMessageSource> sourceCustomizer)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    afterUnbindConsumer(org.springframework.cloud.stream.provisioning.ConsumerDestination consumerDestination, String group, org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties> consumerProperties)
     
    protected void
    afterUnbindProducer(org.springframework.cloud.stream.provisioning.ProducerDestination destination, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties> producerProperties)
     
    protected org.springframework.integration.core.MessageProducer
    createConsumerEndpoint(org.springframework.cloud.stream.provisioning.ConsumerDestination consumerDestination, String group, org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties> properties)
     
    protected org.springframework.cloud.stream.binder.AbstractMessageChannelBinder.PolledConsumerResources
    createPolledConsumerResources(String name, String group, org.springframework.cloud.stream.provisioning.ConsumerDestination destination, org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties> consumerProperties)
     
    protected org.springframework.messaging.MessageHandler
    createProducerMessageHandler(org.springframework.cloud.stream.provisioning.ProducerDestination producerDestination, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties> producerProperties, org.springframework.messaging.MessageChannel errorChannel)
     
    void
     
     
    org.springframework.amqp.rabbit.connection.ConnectionFactory
    Get the underlying ConnectionFactory instance to allow manually altering the connection lifecycle.
     
    protected org.springframework.messaging.MessageHandler
    getErrorMessageHandler(org.springframework.cloud.stream.provisioning.ConsumerDestination destination, String group, org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties> properties)
     
    protected org.springframework.integration.support.ErrorMessageStrategy
     
    org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties
     
    org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties
     
    Class<? extends org.springframework.cloud.stream.binder.BinderSpecificPropertiesProvider>
     
    protected org.springframework.messaging.MessageHandler
    getPolledConsumerErrorMessageHandler(org.springframework.cloud.stream.provisioning.ConsumerDestination destination, String group, org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties> properties)
     
    void
     
    protected void
    postProcessOutputChannel(org.springframework.messaging.MessageChannel outputChannel, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties> producerProperties)
     
    protected void
    postProcessPollableSource(org.springframework.cloud.stream.binder.DefaultPollableMessageSource bindingTarget)
     
    void
    setAdminAddresses(String[] adminAddresses)
     
    void
    setCompressingPostProcessor(org.springframework.amqp.core.MessagePostProcessor compressingPostProcessor)
    Set a MessagePostProcessor to compress messages.
    void
    setDecompressingPostProcessor(org.springframework.amqp.core.MessagePostProcessor decompressingPostProcessor)
    Set a MessagePostProcessor to decompress messages.
    void
    setExtendedBindingProperties(org.springframework.cloud.stream.binder.rabbit.properties.RabbitExtendedBindingProperties extendedBindingProperties)
     
    void
    setNodes(String[] nodes)
     

    Methods inherited from class org.springframework.cloud.stream.binder.AbstractMessageChannelBinder

    bindPollableConsumer, createProducerMessageHandler, customizeProducerMessageHandler, doBindConsumer, doBindProducer, doGetAdditionalConfigurationProperties, errorsBaseName, errorsBaseName, getApplicationEventPublisher, getContainerCustomizer, getDefaultErrorMessageHandler, getErrorBridgeName, getErrorBridgeName, getErrorMessageHandlerName, getErrorRecovererName, getMessageSourceCustomizer, getPolledConsumerRecoveryCallback, registerErrorInfrastructure, registerErrorInfrastructure, setApplicationEventPublisher, setConsumerEndpointCustomizer, setContainerCustomizer, setProducerMessageHandlerCustomizer, useNativeEncoding

    Methods inherited from class org.springframework.cloud.stream.binder.AbstractBinder

    afterPropertiesSet, applyPrefix, bindConsumer, bindProducer, buildRetryTemplate, constructDLQName, getApplicationContext, getBeanFactory, getBindingServiceProperties, getEvaluationContext, groupedName, setApplicationContext

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.springframework.cloud.stream.binder.Binder

    bindConsumer, bindProducer

    Methods inherited from interface org.springframework.cloud.stream.binder.ExtendedBindingProperties

    getBindings
  • Constructor Details

    • RabbitMessageChannelBinder

      public RabbitMessageChannelBinder(org.springframework.amqp.rabbit.connection.ConnectionFactory connectionFactory, org.springframework.boot.amqp.autoconfigure.RabbitProperties rabbitProperties, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner provisioningProvider)
    • RabbitMessageChannelBinder

      public RabbitMessageChannelBinder(org.springframework.amqp.rabbit.connection.ConnectionFactory connectionFactory, org.springframework.boot.amqp.autoconfigure.RabbitProperties rabbitProperties, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner provisioningProvider, org.springframework.cloud.stream.config.ListenerContainerCustomizer<org.springframework.amqp.rabbit.listener.MessageListenerContainer> containerCustomizer)
    • RabbitMessageChannelBinder

      public RabbitMessageChannelBinder(org.springframework.amqp.rabbit.connection.ConnectionFactory connectionFactory, org.springframework.boot.amqp.autoconfigure.RabbitProperties rabbitProperties, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner provisioningProvider, org.springframework.cloud.stream.config.ListenerContainerCustomizer<org.springframework.amqp.rabbit.listener.MessageListenerContainer> containerCustomizer, org.springframework.cloud.stream.config.MessageSourceCustomizer<org.springframework.integration.amqp.inbound.AmqpMessageSource> sourceCustomizer)
  • Method Details

    • setDecompressingPostProcessor

      public void setDecompressingPostProcessor(org.springframework.amqp.core.MessagePostProcessor decompressingPostProcessor)
      Set a MessagePostProcessor to decompress messages. Defaults to a DelegatingDecompressingPostProcessor with its default delegates.
      Parameters:
      decompressingPostProcessor - the post processor.
    • setCompressingPostProcessor

      public void setCompressingPostProcessor(org.springframework.amqp.core.MessagePostProcessor compressingPostProcessor)
      Set a MessagePostProcessor to compress messages. Defaults to a GZipPostProcessor.
      Parameters:
      compressingPostProcessor - the post processor.
    • setAdminAddresses

      public void setAdminAddresses(String[] adminAddresses)
    • setNodes

      public void setNodes(String[] nodes)
    • setExtendedBindingProperties

      public void setExtendedBindingProperties(org.springframework.cloud.stream.binder.rabbit.properties.RabbitExtendedBindingProperties extendedBindingProperties)
    • onInit

      public void onInit() throws Exception
      Overrides:
      onInit in class org.springframework.cloud.stream.binder.AbstractMessageChannelBinder<org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties>, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner>
      Throws:
      Exception
    • destroy

      public void destroy() throws Exception
      Specified by:
      destroy in interface org.springframework.beans.factory.DisposableBean
      Throws:
      Exception
    • getConnectionFactory

      public org.springframework.amqp.rabbit.connection.ConnectionFactory getConnectionFactory()
      Get the underlying ConnectionFactory instance to allow manually altering the connection lifecycle.
    • getExtendedConsumerProperties

      public org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties getExtendedConsumerProperties(String channelName)
      Specified by:
      getExtendedConsumerProperties in interface org.springframework.cloud.stream.binder.ExtendedBindingProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties, org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>
    • getExtendedProducerProperties

      public org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties getExtendedProducerProperties(String channelName)
      Specified by:
      getExtendedProducerProperties in interface org.springframework.cloud.stream.binder.ExtendedBindingProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties, org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>
    • getDefaultsPrefix

      public String getDefaultsPrefix()
      Specified by:
      getDefaultsPrefix in interface org.springframework.cloud.stream.binder.ExtendedBindingProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties, org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>
    • getExtendedPropertiesEntryClass

      public Class<? extends org.springframework.cloud.stream.binder.BinderSpecificPropertiesProvider> getExtendedPropertiesEntryClass()
      Specified by:
      getExtendedPropertiesEntryClass in interface org.springframework.cloud.stream.binder.ExtendedBindingProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties, org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>
    • getBinderIdentity

      public String getBinderIdentity()
      Specified by:
      getBinderIdentity in interface org.springframework.cloud.stream.binder.Binder<org.springframework.messaging.MessageChannel, org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties>, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>>
    • createProducerMessageHandler

      protected org.springframework.messaging.MessageHandler createProducerMessageHandler(org.springframework.cloud.stream.provisioning.ProducerDestination producerDestination, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties> producerProperties, org.springframework.messaging.MessageChannel errorChannel)
      Specified by:
      createProducerMessageHandler in class org.springframework.cloud.stream.binder.AbstractMessageChannelBinder<org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties>, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner>
    • postProcessOutputChannel

      protected void postProcessOutputChannel(org.springframework.messaging.MessageChannel outputChannel, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties> producerProperties)
      Overrides:
      postProcessOutputChannel in class org.springframework.cloud.stream.binder.AbstractMessageChannelBinder<org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties>, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner>
    • createConsumerEndpoint

      protected org.springframework.integration.core.MessageProducer createConsumerEndpoint(org.springframework.cloud.stream.provisioning.ConsumerDestination consumerDestination, String group, org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties> properties)
      Specified by:
      createConsumerEndpoint in class org.springframework.cloud.stream.binder.AbstractMessageChannelBinder<org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties>, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner>
    • createPolledConsumerResources

      protected org.springframework.cloud.stream.binder.AbstractMessageChannelBinder.PolledConsumerResources createPolledConsumerResources(String name, String group, org.springframework.cloud.stream.provisioning.ConsumerDestination destination, org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties> consumerProperties)
      Overrides:
      createPolledConsumerResources in class org.springframework.cloud.stream.binder.AbstractMessageChannelBinder<org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties>, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner>
    • postProcessPollableSource

      protected void postProcessPollableSource(org.springframework.cloud.stream.binder.DefaultPollableMessageSource bindingTarget)
      Overrides:
      postProcessPollableSource in class org.springframework.cloud.stream.binder.AbstractMessageChannelBinder<org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties>, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner>
    • getErrorMessageStrategy

      protected org.springframework.integration.support.ErrorMessageStrategy getErrorMessageStrategy()
      Overrides:
      getErrorMessageStrategy in class org.springframework.cloud.stream.binder.AbstractMessageChannelBinder<org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties>, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner>
    • getErrorMessageHandler

      protected org.springframework.messaging.MessageHandler getErrorMessageHandler(org.springframework.cloud.stream.provisioning.ConsumerDestination destination, String group, org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties> properties)
      Overrides:
      getErrorMessageHandler in class org.springframework.cloud.stream.binder.AbstractMessageChannelBinder<org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties>, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner>
    • getPolledConsumerErrorMessageHandler

      protected org.springframework.messaging.MessageHandler getPolledConsumerErrorMessageHandler(org.springframework.cloud.stream.provisioning.ConsumerDestination destination, String group, org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties> properties)
      Overrides:
      getPolledConsumerErrorMessageHandler in class org.springframework.cloud.stream.binder.AbstractMessageChannelBinder<org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties>, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner>
    • afterUnbindConsumer

      protected void afterUnbindConsumer(org.springframework.cloud.stream.provisioning.ConsumerDestination consumerDestination, String group, org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties> consumerProperties)
      Overrides:
      afterUnbindConsumer in class org.springframework.cloud.stream.binder.AbstractMessageChannelBinder<org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties>, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner>
    • afterUnbindProducer

      protected void afterUnbindProducer(org.springframework.cloud.stream.provisioning.ProducerDestination destination, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties> producerProperties)
      Overrides:
      afterUnbindProducer in class org.springframework.cloud.stream.binder.AbstractMessageChannelBinder<org.springframework.cloud.stream.binder.ExtendedConsumerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitConsumerProperties>, org.springframework.cloud.stream.binder.ExtendedProducerProperties<org.springframework.cloud.stream.binder.rabbit.properties.RabbitProducerProperties>, org.springframework.cloud.stream.binder.rabbit.provisioning.RabbitExchangeQueueProvisioner>