Параллельные вызовы служб с помощью 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();)
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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