Bom dia Não encontrei no material a explicação da anotação @Payload Para que ela serve e quando devo usá-la?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Bom dia Não encontrei no material a explicação da anotação @Payload Para que ela serve e quando devo usá-la?
Olá Djalma, tudo bem? A anotação @Payload é utilizada em conjunto com a biblioteca Spring AMQP para indicar qual é o objeto que deve ser enviado como mensagem em uma operação de envio de mensagem utilizando o RabbitMQ.
Quando uma mensagem é enviada, o conteúdo é encapsulado em um objeto Message que é transmitido através do RabbitMQ. A anotação @Payload é usada para indicar qual é o objeto que deve ser colocado dentro do corpo da mensagem. Por exemplo:
@Autowired
private RabbitTemplate rabbitTemplate;
public void enviarMensagem(String mensagem) {
rabbitTemplate.convertAndSend("fila-teste", mensagem);
}No exemplo acima, estamos enviando uma mensagem simples como uma String. Se quisermos enviar um objeto mais complexo, podemos utilizar a anotação @Payload para indicar que este é o objeto que deve ser colocado no corpo da mensagem:
@Autowired
private RabbitTemplate rabbitTemplate;
public void enviarMensagem(@Payload Ordem ordem) {
rabbitTemplate.convertAndSend("fila-teste", null, ordem);
}Neste exemplo, estamos enviando um objeto do tipo Ordem como mensagem, e utilizando a anotação @Payload para indicar que este é o objeto que deve ser colocado no corpo da mensagem.
Espero ter ajudado!
Muito obrigado Otavio