Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] @PayLoad

Bom dia Não encontrei no material a explicação da anotação @Payload Para que ela serve e quando devo usá-la?

2 respostas
solução!

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