Skip to content

Instantly share code, notes, and snippets.

View henriquesousazup's full-sized avatar

Henrique henriquesousazup

View GitHub Profile
@henriquesousazup
henriquesousazup / NovoPedidoListener.java
Created November 10, 2022 12:49
[S03] KAFKA - Consumer local com AVRO - Novo pedido restaurante - Recebendo mensagem com schema AVRO
package com.zcoders.restaurante.listener;
import com.zcoders.restaurante.model.Item;
import com.zcoders.restaurante.model.Pedido;
import com.zcoders.restaurante.model.StatusPedido;
import com.zcoders.restaurante.repository.ItemRepository;
import com.zcoders.restaurante.repository.PedidoRepository;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@henriquesousazup
henriquesousazup / PedidoNovoProducer.java
Created November 9, 2022 19:51
[S03] KAFKA - Producer local com AVRO - Nova venda - Enviando mensagem com schema AVRO
package com.zupfood.pedidos.pedido;
import com.zupfood.pedidos.item.Item;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
@henriquesousazup
henriquesousazup / NovaVendaDeserializer.java
Created November 8, 2022 18:03
[S02] KAFKA - Consumer local - Nova venda - Recebendo mensagem e armazenando notificacao
package com.zcoders.notificacao.listener;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.kafka.common.errors.SerializationException;
import org.apache.kafka.common.serialization.Deserializer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
@henriquesousazup
henriquesousazup / NovaContaDeserializer.java
Created November 8, 2022 16:59
[S02] KAFKA - Consumer local - Nova oferta - Recebendo mensagem
package com.zupedu.credito.listener;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.kafka.common.errors.SerializationException;
import org.apache.kafka.common.serialization.Deserializer;
import java.io.IOException;
public class NovaContaDeserializer implements Deserializer<NovaContaEvent> {
@henriquesousazup
henriquesousazup / MarketplaceApplication.java
Created November 7, 2022 21:06
[S01] KAFKA - Producer local - Nova promoção - Enviando mensagem
package br.com.zup.edu.marketplace;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableAsync;
@SpringBootApplication
@EnableAsync
public class MarketplaceApplication {
@henriquesousazup
henriquesousazup / ContaApplication.java
Last active November 7, 2022 21:01
[S01] KAFKA - Producer local - Nova conta - Enviando mensagem
package com.zupedu.conta;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.kafka.annotation.EnableKafka;
import org.springframework.scheduling.annotation.EnableAsync;
@SpringBootApplication
@EnableAsync
public class ContaApplication {
@henriquesousazup
henriquesousazup / ClienteNovoConsumer.java
Created November 7, 2022 14:18
[S03] SQS - DLQ e Idempotência - NovoCliente - Validando se novo cliente já existe no banco através de atributo de valor único
@Component
public class ClienteNovoConsumer {
Logger logger = LoggerFactory.getLogger(ClienteNovoConsumer.class);
@Autowired
private ClienteRepository clienteRepository;
@SqsListener(value = "${cloud.aws.queue.name}", deletionPolicy = SqsMessageDeletionPolicy.ON_SUCCESS)
@henriquesousazup
henriquesousazup / NovoCliente.java
Created November 1, 2022 20:34
[S02] SQS - Consumer - NovoCliente - Recebimento de novo cliente cadastro em microserviço
package br.com.zup.edu.ingressoagora.listener;
import br.com.zup.edu.ingressoagora.model.Cliente;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import java.time.LocalDate;
import java.time.LocalDateTime;
@henriquesousazup
henriquesousazup / PagamentoRealizado.java
Last active November 1, 2022 20:31
[S02] SQS - Consumer - Comprovante - Recebimento de pagamento realizado
package com.zcoders.comprovante.domain;
import java.math.BigDecimal;
public class PagamentoRealizado {
private BigDecimal valor;
private long numeroConta;
@henriquesousazup
henriquesousazup / MarketplaceApplication.java
Created October 31, 2022 21:11
[S01] SQS - Producer - Loja virtual - Fluxo de envio de mensagem para nova promoção
package br.com.zup.edu.marketplace;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableAsync;
@SpringBootApplication
@EnableAsync
public class MarketplaceApplication {