Как я могу использовать классы областей применения ApplicationContext из другого потока - PullRequest
0 голосов
/ 03 октября 2019

Используя аннотацию @Async, я хочу вызвать метод в другом потоке, который имеет доступ к классам областей Session и Request.

Однако, когда ApplicationContext пытается получить компонент, генерируется следующее исключение:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'scopedTarget.sessionInfoClass': Scope 'session' is not active for the current thread;

Я пытался расширить класс ApplicationContextAware для хранения контекста основного потока.

Также я попытался предложить решение из этого вопроса Как включить область запросав асинхронном исполнителе задач

Исходный код в Github

https://github.com/saavedrah/spring-threadSample

1 Ответ

1 голос
/ 03 октября 2019

Я создал запрос извлечения для вашего репо, который решает проблему.

По сути, я продлил это решение также для Runnable дела.

Для проверкизапусти класс ThreadSampleApplication и нажми http://localhost:8080/testAsync

...