FC ConcursosFC Concursos

Questão FC373994

Considere que, no ambiente de mensageria da Plataforma Digital do Poder Judiciário PDPJ-Br, os serviços se comunicam entre si por meio de troca de mensagens, fazendo uso de um Mess

Automação e Gestão de Projetos de Software

FCC · 2022

Considere que, no ambiente de mensageria da Plataforma Digital do Poder Judiciário PDPJ-Br, os serviços se comunicam entre si por meio de troca de mensagens, fazendo uso de um Message Broker. Neste ambiente, em condições ideais, um Analista, dentre as ações necessárias, está escrevendo o código para envio de uma mensagem usando Java. Ele utiliza Spring Boot como framework de sua aplicação Java e Maven como gerenciador de dependências. Dentre as ações para viabilizar o envio da mensagem, ele adicionou no arquivo POM.XML da aplicação:

 

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>


Já na classe responsável por enviar mensagens da sua aplicação, ele acrescentou:


@Autowired
private RabbitTemplate rabbitTemplate;
public void sendMessage(String json) {
       ...I...(this.getRoutingKey(), json);
}

 

A lacuna I deve ser corretamente preenchida com

  1. this.RabbitTemplate.convert
  2. this.rabbitTemplate.Send
  3. this.RabbitTemplate.send
  4. this.rabbitTemplate.convertAndSend
  5. this.RabbitTemplate.convert.send
Mostrar resposta e comentário

Gabarito

D

Comentário do professor

this.rabbitTemplate.convertAndSend é a chamada correta porque utiliza o bean RabbitTemplate (injetado via @Autowired) para enviar uma mensagem ao broker e, ao mesmo tempo, converter o payload adequado antes do envio.

O método convertAndSend recebe a routing key e o objeto a ser enviado; internamente ele aplica o MessageConverter configurado (por exemplo, converte um POJO em JSON) e transforma a mensagem em bytes conforme necessário pelo RabbitMQ.

Ao usar essa assinatura, você delega ao Spring AMQP (fornecido pela dependência spring-boot-starter-amqp) a serialização e o envio, garantindo compatibilidade com as filas/exchanges e simplificando o código de publicação.

Portanto, chamar this.rabbitTemplate.convertAndSend(this.getRoutingKey(), json) é a forma correta e idiomática para publicar a mensagem com a routing key desejada.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo