Questão de Programação — Linguagens de programação — FGV 2024
Programação›Linguagens de programação
Código
fg098209
Banca
FGV
Órgão
TJ-AP
Ano
2024
Nível
Superior
Cargo
Apoio Especializado - Tecnologia da Informação - Desenvolvimento de Sistemas
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;
B@AsyncConfigurer e @Async;
C@EnableAsync e @Asynchronous;
D@AsyncConfigurer e @EnableAsync;
E@AsyncConfigurer e @Asynchronous.
Revelar gabarito e comentário▾
GabaritoA — @EnableAsync e @Async;
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Spring Boot – Anotações para Execução Assíncrona
Gabarito: letra A. A anotação @EnableAsync habilita o suporte do Spring à execução de métodos assíncronos (deve ser colocada em uma classe de configuração), e @Async marca um método específico como candidato à execução assíncrona. Essas são as duas anotações padrão do Spring Boot para implementar operações assíncronas de forma simples e direta.
A questão exige o conhecimento exato dos nomes das anotações. Muitos candidatos confundem @Async com @Asynchronous (que não existe no Spring) ou pensam que @AsyncConfigurer (uma interface, não anotação) substitui @EnableAsync.
NÃO CAIA NESSA!
A banca troca os nomes das anotações, inserindo opções com @Asynchronous (inexistente) e @AsyncConfigurer (interface de configuração, não uma anotação). Decore o par correto: @EnableAsync na classe de configuração e @Async no método.
Alternativa A — ✅ Correta ⟵ GABARITO
Combina @EnableAsync e @Async, exatamente o que a documentação do Spring preconiza para habilitar e executar métodos assíncronos.
Alternativa B — ❌ Incorreta
Troca @EnableAsync por @AsyncConfigurer. @AsyncConfigurer é uma interface que permite configurar o executor assíncrono, mas não habilita o suporte a métodos assíncronos; quem faz isso é @EnableAsync.
Alternativa C — ❌ Incorreta
Substitui @Async por @Asynchronous. O Spring não possui a anotação @Asynchronous; o nome correto é @Async.
Alternativa D — ❌ Incorreta
Apresenta @AsyncConfigurer e @EnableAsync. Falta @Async para marcar os métodos. Apenas habilitar não é suficiente; é preciso anotar os métodos com @Async.
Alternativa E — ❌ Incorreta
Contém @AsyncConfigurer e @Asynchronous, ambos incorretos: o primeiro não é anotação de habilitação, e o segundo não existe.
PEGA ESSA DICA!
Grave o par @EnableAsync (habilitação) + @Async (método). Na prova, desconfie de qualquer variação como @Asynchronous ou @AsyncConfigurer no lugar de @EnableAsync.