различные thread local based контексты: org.springframework.web.context.request.RequestContextHolder, org.slf4j.MDC и прочие.
                  
                  
                  Вот значения из них не доступны в корутинах, так как, в общем случае, нет гарантий, что корутина исполняется в том же потоке, что и вызывающий код.
                  
                  
                  Собственно вопрос в том, какие есть подходы и практики для проброса внутрь корутин таких контекстов?
                  
                  
                
Самое лучшее - это сделать свой ключ в coroutine context. И работать с ним по аналогии с threadlocal, это будет coroutineLocal
 Andrey
                          Antipov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Andrey
                          Antipov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Ну то есть, пробрасывать только ключ параметром, а по нему доставать контекст. Я верно понял?
Создается новый ключ и дальше он подпихиватся в билдере типа launch(MyKey(value)){ а достается как coroutineContext[MyKey]
Для MDC есть готовая интеграция, для остального смотрите ThreadCoroutineContext ThreadContextElement
 Andrey
                          Antipov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Andrey
                          Antipov
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Обсуждают сегодня