# O que a anotação @Retry faz em um método que pode falhar? - [ ] Evita a execução do método. - [ ] Garante que o método nunca falhe. - [x] Tenta reexecutar o método um número especificado de vezes. - [ ] Reduz o tempo de execução do método. # Qual é o propósito da anotação @Fallback em um método? - [ ] Substituir o método original por outro método alternativo em caso de falha. - [ ] Aumentar o tempo de execução do método. - [ ] Garantir que o método original seja sempre executado. - [x] Executar um método alternativo quando o método original não se recupera de uma falha. # O que a anotação @Timeout especifica? - [x] O tempo máximo que um método pode levar para ser executado antes de lançar uma exceção. - [ ] O tempo mínimo que um método deve levar para ser executado. - [ ] O tempo que o sistema deve esperar antes de executar um método. - [ ] O tempo total de execução permitido para todos os métodos na aplicação. # Qual é a função da anotação @Bulkhead? - [ ] Limitar o número de falhas permitidas antes de parar a aplicação. - [x] Limitar o número de operações simultâneas permitidas em um método. - [ ] Aumentar a capacidade de processamento de um método. - [ ] Reduzir a carga no servidor. # Quando a anotação @Bulkhead é usada com @Asynchronous, qual é o seu comportamento? - [ ] Permite apenas um número fixo de requisições. - [x] Permite configurar tanto as requisições simultâneas quanto o tamanho da fila de espera. - [ ] Garante que todas as requisições sejam processadas em ordem. - [ ] Desativa o isolamento de recursos. # Qual é a principal função da anotação @CircuitBreaker? - [ ] Aumentar o número de execuções de um método. - [x] Evitar chamadas repetidas a um método que falhou até que ele se recupere. - [ ] Substituir o método original por um método de fallback. - [ ] Reduzir o tempo de execução de um método. # O que ocorre quando o @CircuitBreaker está ativado e um método continua a falhar? - [ ] O método é reexecutado indefinidamente. - [ ] A aplicação é encerrada. - [x] O circuito se abre e evita novas execuções do método por um tempo. - [ ] O método é ignorado. # Em que situação a anotação @Timeout lança uma exceção? - [ ] Quando o método é executado com sucesso. - [ ] Quando o método falha imediatamente. - [x] Quando o método excede o tempo especificado para sua execução. - [ ] Quando o método é chamado muitas vezes. # O que é necessário para um método de fallback funcionar corretamente com @Fallback? - [ ] Deve ter um nome diferente do método original. - [ ] Deve retornar um tipo de dado diferente. - [x] Deve ter a mesma assinatura que o método original. - [ ] Deve ser executado antes do método original.