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

rabbit nao funciona capitulo 3

no primeiro video do capitulo 3 usamos esse comando para a mensagem ficar registrada no habbit

@Configuration public class PagementoAmqpConfig {

@Bean
public Queue criarFila() {
    //  return new Queue("pagamento.concluido",false);
    return QueueBuilder.nonDurable("pagamento.concluido").build();
}

@Bean
public RabbitAdmin criaRabbitAdmin(ConnectionFactory factory) {
    return new RabbitAdmin(factory);
}

@Bean
public ApplicationListener<ApplicationReadyEvent> inicializaAdmin(RabbitAdmin rabbitAdmin) {
    return event -> rabbitAdmin.initialize();
}
@Bean
public Jackson2JsonMessageConverter messageConverter() {
    return new Jackson2JsonMessageConverter();
}

@Bean
public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory, Jackson2JsonMessageConverter messageConverter) {
    RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
    rabbitTemplate.setMessageConverter(messageConverter);
    return rabbitTemplate;
}

}

entretanto mesmo depois de dar o post para salvar, ele salva normal mas a mensagem não é registrada em pagamentos. 

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

  @PostMapping
public ResponseEntity<PagamentoDto> cadastrar(@RequestBody @Valid PagamentoDto dto, UriComponentsBuilder uriBuilder) {
    PagamentoDto pagamento = service.criarPagamento(dto);
    URI endereco = uriBuilder.path("/pagamentos/{id}").buildAndExpand(pagamento.getId()).toUri();


    rabbitTemplate.convertAndSend("pagamento.concluido", pagamento);

    return ResponseEntity.created(endereco).body(pagamento);
}
2 respostas
solução!

Boa noite Rodrigo.

Peguei o projeto do capitulo 2 e adicionei os pontos que você postou aqui, não realizei alterações no código em si e vi que a mensagem está sendo postada na fila... Imaginei que no seu caso, algo estivesse consumindo as mensagens e vi que o serviço "pedidos" está configurado para consumir as mensagens da fila pedidos.concluido... Assim que subi o serviço "pedidos", a fila foi limpa e o comportamento a cada nova postagem fica bem parecido com o seu, a fila sempre está "zerada". No entanto, se você clica na fila, vai ver as estatísticas e perceber que as mensagens estão sendo consumidas pelo "pedidos". Por favor, verifique se no seu caso, o serviço "pedidos" está ativo juntamente com o de "pagamentos"

Bons estudos!!

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

foi o pedidos nao estava funcionando direito, nao entendi o que aconteceu baixei o repositorio do final do capitulo de pedidos e voltou a reconhecer, estava reparando que ele não aparecia no eureka server, creio que devo ter tirado alguma coisa do eureka e ter esquecido dps de voltar

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software