сервер, который если запустится успешно — отвечает по протоколу HTTP, что у него всё хорошо. а если не запустится — процесс дохнет. соответственно, у меня есть две функции-ожидалки, одна периодически чекает статус по HTTP, другая следит за тем, не сдох ли процесс. то есть мне надо во время запуска дождаться одного из двух событий. как это лучше всего сделать? я реализовал это через CompletableFuture.anyOf, и ожидание срабатывает как надо, но проблема в том, что когда ожидание закончилось, нужно вторую футуру отключить, чтобы она больше не ждала — а это не прокатывает, cancel не прерывает поток. что делать? вот сэмпл кода: https://gist.github.com/barancev/df05d44c58ee9a5f3c711c301cec844c
звучит как healthcheck/readiness probe, обычно этим занимается оркестратор а не приложение
Обсуждают сегодня