title: Spring Cloud Stream Reactive, how to set routing key for producer
body: <p>Spring Cloud Stream allows us to set routing key using application config, like:</p>
  
  <pre><code>cloud.stream:
      default:
        contentType: "application/json"
  
      rabbit.bindings:
        output-resync-events:
          producer:
            prefix: "xxx."
            routing-key-expression: '''command.service'''
  
      bindings:
        output-resync-events:
          destination: "resync-requests"
  </code></pre>
  
  <p>But I need to set the <code>routing-key</code> dynamically for each message send.</p>
  
  <p>I know about <code>BinderAwareChannelResolver</code> but it seems this only allows you to create a new <code>Exchange</code> itself which is not the desired outcome.</p>
  
  <p>I want to use the same <code>TopicExchange</code> but with different <code>routing-key</code>s.</p>
  
  <p>Also if it is possible to achieve this using the Spring Cloud Stream's Reactive APIs?</p>