title: Change default exchangeType as fanout through Spring cloud stream or rabbitmq server config
body: <p>I have two microservices Student and Teacher</p>
  
  <p>in Student microservice I have created MessageSink for exchange XYZ</p>
  
  <pre><code>@Input("XYZ")
  SubscribableChannel xyz();
  </code></pre>
  
  <p>and in Teacher microservice I have configured exchange XYZ as a fanout</p>
  
  <p>application.properties</p>
  
  <pre><code> spring.cloud.stream.rabbit.bindings.XYZ.producer.exchangeType=fanout
   spring.cloud.stream.bindings.XYZ.contentType=application/json
  </code></pre>
  
  <p>But problem I am facing here is Student service is starting before Teacher service and it is creating XYZ exchange with type Topic.</p>
  
  <p>To tackle this I have added exchangeType in both the services (i.e consumer as well as producer). As services are growing in numbers, these configurations are growing in numbers.</p>
  
  <p>I want to change the default exchangeType as fanout, so following are few questions.</p>
  
  <ol>
  <li>is there any way to change default <code>exchangeType</code> as fanout instead of topic in <code>spring-cloud-stream</code>?</li>
  <li>Is there any way to change default <code>exchangeType</code> through rabbit-mq configuration?</li>
  <li>As a work around I planning to keep <code>exchangeType</code> as <code>topic</code> and routing key <code>#</code>. But the problem with this approach is <code>stomp</code> client is creating queue for every browser host with queue name as <code>stomp-subscription-randomString</code> and blank routing key. So is there any way to provide routing key while subscribing to stream? I am using <code>/exchange/exchangeName</code> as exchange <code>URL</code></li>
  </ol>