Search code examples
javaspring-bootspring-messagingspring-cloud-stream

Does Spring Cloud Stream project needs web server (Tomcat) or not?


I'm using Spring Cloud Stream to write messaging-driven microservices.

  • Project A: Producer (Spring Cloud Stream, integrated tomcat and its port: 8080)
  • Project B: Consumer (Spring Cloud Stream, integrated tomcat and its port: 8081)
  • Message Broker: RabbitMQ (amqp port: 5672)

My question is: For project A & B, do them need integrated web server/port (Tomcat) or not? Or just a common java application would be fine?


Solution

  • If you don't want to access Boot's web support (actuator etc), you can disable the web using the application builder.

    Simply add

    .web(false)
    

    before the run().

    Alternatively, just set remote.port=0 and a random port will be selected for each.