Class WorkspaceThreadLocalAccessor
java.lang.Object
com.github._1c_syntax.bsl.languageserver.infrastructure.WorkspaceThreadLocalAccessor
- All Implemented Interfaces:
ThreadLocalAccessor<URI>
Micrometer SPI для автоматической пропагации workspace URI через executors.
При восстановлении snapshot на новом потоке (метод setValue(URI)) workspace
может оказаться уже снятым с регистрации — например, когда @Scheduled-задача
запускается после того, как тест или пользователь удалил workspace. В этом случае
метод логирует предупреждение и очищает контекст, не бросая исключение.
Само по себе это не ошибка: задача, не нуждающаяся в workspace-контексте
(например, ConfigurationFileSystemWatcher.watch()), самостоятельно
устанавливает нужный контекст через WorkspaceContextHolder.run(URI, Runnable).
-
Constructor Details
-
WorkspaceThreadLocalAccessor
public WorkspaceThreadLocalAccessor()
-
-
Method Details
-
key
- Specified by:
keyin interfaceThreadLocalAccessor<URI>
-
getValue
- Specified by:
getValuein interfaceThreadLocalAccessor<URI>
-
setValue
- Specified by:
setValuein interfaceThreadLocalAccessor<URI>
-
restore
- Specified by:
restorein interfaceThreadLocalAccessor<URI>
-
setValue
public void setValue()- Specified by:
setValuein interfaceThreadLocalAccessor<URI>
-