title: Spring Cloud Stream can't create queue and binding
body: <p>First - I'm new to Spring Cloud Stream. I have a problem to crate one queue and binding between exchange and that queue using Cloud Spring Stream (3.2.1) and RabbitMQ</p>
  <p>Application properties looks like (for not working part):</p>
  <pre><code>spring: 
    cloud:
      function:
        definition: directSmtpGatewayMessageInput;directStaProcessorInput;directStaPostProcessInput;directSmtpRemoteDeliveryInput;directXDDeliveryInput
  
      stream: 
        source: direct-smtp-gateway-message;direct-smtp-remote-delivery;direct-sta-processor;direct-sta-post-process;direct-sta-last-mile;direct-xd-delivery
      
        bindings: 
  
          direct-xd-delivery-out-0: 
            destination: direct-xd-delivery-process          
            
          directXDDeliveryInput-in-0: 
            destination: direct-xd-delivery-process  
            group: direct-xd-delivery-process-group
            consumer:
              concurrency: 10
              maxAttempts: 5
              backOffInitialInterval: 360000
              backOffMaxInterval: 92160000
              backOffMultiplier: 4
  </code></pre>
  <p>Stream Bridge:</p>
  <pre><code>@Component
  public class XDRemoteDeliverySource
  {
      protected static final String OUT_BINDING_NAME = &quot;direct-xd-delivery-out-0&quot;;
      
      @Autowired
      private StreamBridge streamBridge;
      
      public &lt;T&gt; void xdRemoteDelivery(SMTPMailMessage msg) 
      {
          streamBridge.send(OUT_BINDING_NAME, SMTPMailMessageConverter.toStreamMessage(msg));
      }
  }
  </code></pre>
  <p>Consumer (as a stream processor):</p>
  <pre><code>@Configuration
  @Slf4j
  public class XDRemoteDeliveryProcessor implements XDDeliveryCallback
  {
      @Autowired
      protected XDDeliveryCore deliveryCore;
      
      @Autowired
      protected SmtpGatewayMessageSource smtpMessageSource;
      
      @Autowired
      protected DSNCreator dsnCreator;
      
      @Bean
      public Consumer&lt;Message&lt;?&gt;&gt; directXDDeliveryInput()
      {
          return streamMsg -&gt; 
          {
              try
              {
                 final SMTPMailMessage smtpMessage = SMTPMailMessageConverter.fromStreamMessage(streamMsg);
  
                 deliveryCore.processAndDeliverXDMessage(smtpMessage);
              }
              catch (MessagingException e)
              {
                  throw new RuntimeException(e);
              }
          };
      }
  
  }
  </code></pre>
  <p>I see message going to the <code>direct-xd-delivery-process</code> exchange and then, if I will create queue manually and bind it to the exchange as <code>direct-xd-delivery-process.direct-xd-delivery-process-group</code>, I will see message in the queue but for consumer still will not pick it up.</p>
  <p>So my question is why defined consumer will not create queue and assigned binding as well will not pick up message from there if queue was created manually.</p>
  <p>PS.
  RabbitMQ:</p>
  <p><a href="https://i.stack.imgur.com/ddPt0.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ddPt0.png" alt="enter image description here" /></a>
  <a href="https://i.stack.imgur.com/tiZ7J.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/tiZ7J.png" alt="enter image description here" /></a></p>