Метод вызова Spring в другом потоке

У меня есть http-контроллер, служба A, служба B. Есть http запрос. Метод вызова метода контроллера из A, метод вызова метода A из B. Контроллер -> А -> Б

Потоки и загрузчики:

Controller - [http-nio-8080-exec-7,5,main], TomcatEmbeddedWebappClassLoader
A - [http-nio-8080-exec-7,5,main], TomcatEmbeddedWebappClassLoader
B - [ForkJoinPool.commonPool-worker-3,5,main], jdk.internal.loader.ClassLoaders$AppClassLoader@6ed3ef1

Почему вызов B находится в другом потоке и загрузчике классов? Асинхронных вызовов нет.

Асинхронных вызовов нет... Ну видимо есть. Добавьте код для вашего контроллера и службы.

M. Deinum 24.11.2022 13:15
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
102
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

ForkJoinPool — это реализация ExecutorService. Он разбирает задачу на несколько более мелких, запускается в параллельных потоках и объединяет их после завершения. Таким образом, конечный результат будет казаться синхронным. Если явного вызова нет, то какая-то внутренняя библиотека использует fork/join где-то в потоке.

Другие вопросы по теме