Параллельные вызовы служб с помощью Spring Boot 3.2 и виртуальных потоковJAVA

Программисты JAVA общаются здесь
Anonymous
Параллельные вызовы служб с помощью Spring Boot 3.2 и виртуальных потоков

Сообщение Anonymous »


Я пытаюсь вызвать две внешние службы параллельно, используя виртуальные потоки при весенней загрузке 3.2 с помощью RestClient, но я не уверен, правильно ли просто вызывать их последовательно или использовать фьючерсы. Мой application.properties уже содержит: Spring.threads.virtual.enabled=true

Правильно ли просто сделать:

String response1 = PerformGetRequest(uri1); //RestClient получает запрос Строка response2 = PerformGetRequest(uri2); вернуть ответ1 + ответ2; Или мне нужно сделать:

Future response1 = PerformGetRequest(uri1); Future response2 = PerformGetRequest(uri2); вернуть ответ1.get() + ответ2.get(); Кроме того, необходимо ли обертывать блок кода в блок try-with-resources или в этом нет необходимости, поскольку Spring уже использует виртуальный поток для каждой задачи, как это включено в application.properties? Итак:
попробуйте (служба ExecutorService = Executors.newVirtualThreadPerTaskExecutor();)

Вернуться в «JAVA»