Questão nº 73
Questão de Tecnologia da Informação · FGV TJ-AP 2024 (nº 73)
A analista Joelma está desenvolvendo o web service tjapRest utilizando o Spring Boot. Determinadas operações de tjapRest devem ser executadas assincronamente. Para implementar as operações assíncronas de forma simples e direta, Joelma recorreu a duas anotações padrões do Spring. A primeira anotação habilita o suporte do Spring à execução de métodos assíncronos. A segunda anotação marca determinado método como um candidato à execução assíncrona.
Joelma recorreu às anotações do Spring:
- A@EnableAsync e @Async; (alternativa correta)
- B@AsyncConfigurer e @Async;
- C@EnableAsync e @Asynchronous;
- D@AsyncConfigurer e @EnableAsync;
- E@AsyncConfigurer e @Asynchronous.
Resposta comentada
Gabarito Alternativa A
Para fazer um método rodar "por fora" do fluxo principal do seu programa (assincronamente), o Spring Boot precisa ser avisado para ativar essa funcionalidade e, depois, você marca qual método específico deve usar essa execução separada.
- (A) Correta:
@EnableAsyncé a anotação que você coloca em uma classe de configuração para habilitar o suporte a métodos assíncronos no Spring.@Asyncé a anotação que você coloca em um método para marcar que ele deve ser executado assincronamente, ou seja, em uma thread separada. - (B) Incorreta:
@AsyncConfigureré uma interface para personalizar a configuração do executor assíncrono (como o pool de threads), não para habilitar o recurso de forma simples. A pegadinha é que ela soa como "configurar assíncrono", mas não é a que habilita o suporte inicial. - (C) Incorreta:
@Asynchronousnão é uma anotação padrão do Spring para marcar métodos assíncronos; a correta é@Async. - (D) Incorreta:
@AsyncConfigurernão é a anotação para habilitar o suporte de forma simples, e a ordem das anotações não se encaixa na descrição do problema. - (E) Incorreta:
@AsyncConfigurernão é para habilitar de forma simples, e@Asynchronousnão existe no Spring para este propósito.
Fonte: FGV TJ-AP 2024 Analista Judiciário - TI - Desenvolvimento de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.