> И как ощущения?
Ну в целом хорошо, я уже давно использовал корутины тут, но теперь не только там где хендлеры работали как прокси (запрос -> http client -> ответ), а еще и в стандартных хендлерах которые ходят в базу. Подсмотрел реализацию jsonWrapper у ктор кстати, так действительно удобно отдавать данные (раньше ручками в хендлере использовал objectMapper).
Пока из минусов - захломил немного методы в сервисах оберткой withContext.
> Кстати, глядя на скриншоты возникает вопрос почему используется Java-style цепные builders вида something.get(...).post(...). ... а не Kotlin-style DSL вида something { get(...) post(...) ... }?
Вот как раз в том месте используется синхронный, стандартный RoutingHandler (
https://github.com/undertow-io/undertow/blob/master/core/src/main/java/io/undertow/server/RoutingHandler.java#L40)
Т.е. у меня есть набор IoThread в которых идет первоначальная обработка (чтение запроса undertow и роутинг в данном случае), потом идут мои хендлеры - в них я диспатчу запрос из Io в свой тред пул (для них я выделил обычный fixed контекст по количеству тредов), и запросы в базу я делаю в
elastic
.