Можем ли мы создать компонент RestTemplate и Autowired в службах для вызова многих веб-служб, поскольку класс RestTemplate является синхронным? - PullRequest
0 голосов
/ 12 марта 2020

Я создал класс конфигурации для создания Bean of RestTemplate, который приведен ниже:

@Configuration
public class RestTemplateConfig {
    @Bean
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

После этого я использую этот Bean в качестве Autowired в своем классе Service для вызова множества различных служб отдыха, как показано ниже :

@Service
public class BackendService {
    @Autowired
    private RestTemplate restTemplate;

    public Object callingMethod(String someParameters, .....) {
         result = restTemplate.exchange(url, HttpMethod.GET, entity, Object.class);
    }
}

В приведенном выше классе обслуживания здесь я показал, что я звоню только на службу отдыха, но я хочу вызывать большое количество услуг отдыха через разные запросы конечных точек моего отдыха. Итак, теперь это мои вопросы:

1. Поскольку класс RestTemplate по своей природе является синхронным, то есть ли возможность вызывать одни и те же службы отдыха с использованием Autowired RestTemplate по разным различным запросам одновременно?

2. Можно ли одновременно вызывать различные остальные службы, используя этот экземпляр RestTemplate с автопроводкой?

3. Не заблокирован ли экземпляр Atowired RestTemplate каким-либо конкретным c запросом? Я думаю, что если только один запрос не вызовет службу отдыха, использующую этот экземпляр, получит ответ, мы не сможем вызвать другие службы отдыха, используя какой-то другой запрос. Я правильно думаю? или любой номер запроса может одновременно получить экземпляр Autowired RestTemplate?

Я задаю все эти вопросы, потому что я думаю, что когда любой запрос приходит в приложение Spring Boot, он создает новый поток, и когда любой поток получает экземпляр синхронного класса, этот экземпляр не будет доступен для любого другого запроса, пока предыдущий выделенный запрос не освободит экземпляр. Поэтому, пожалуйста, проясните все мои сомнения.

Заранее спасибо ...

...