https://kotlinlang.org logo
#russian
Title
# russian
c

caffeine

10/15/2019, 9:09 PM
Всем привет. При создании (запуске) корутины надо указать контекст (
kotlin.coroutines.CoroutineContext
). Верно ли я понимаю, что в этот контекст можно класть различные значения, а так же извлекать их оттуда? Если так, то как внутри корутины получить доступ к текущему контексту? Мне нужно организовать что-то в роде mdc (logback), но вместо ThreadLocal хочу данные класть в контекст корутины. При запуске корутины я все содержимое mdc хочу класть в этот самый контекст. Это все мне нужно за тем что бы отслеживать трекер инициатора запроса сквозь все вызовы в том числе меж-сервесные. подскажите пожалуйста
b

bezrukov

10/15/2019, 11:34 PM
1. Да, можно добавлять любые кастомные CoroutineContext.Element в к контексту, после извлекать его по ключу, как например context[Job] 2. Из suspend fun, должен быть доступ к глобальной coroutineContext property
15 Views