# A runner that blocks: the port is open, liveness is UP, readiness is OUT_OF_SERVICE --- while the runner is blocked --- has SpringApplication.run() returned? false GET /ping -> 200 pong GET /actuator/health/liveness -> 200 {"status":"UP"} GET /actuator/health/readiness -> 503 {"status":"OUT_OF_SERVICE"} --- after the runner returned --- has SpringApplication.run() returned? true GET /actuator/health/readiness -> 200 {"status":"UP"} --- trace --- runner: started on platform thread app-main, now waiting (think: warming a cache for 40 s) runner: finished, returning to SpringApplication.run