Pular para o conteúdo
Cesar Schutz
Categorias

Desenvolvimento de Software

Java, Spring, testes e refatoração: o ofício dentro de cada serviço.

6 artigos, 2026

Ver o livro

Artigos

6 artigos

  1. Desenvolvimento de Software12 min de leitura

    Filtros de serialização no Jackson — mascarando número de cartão nos logs

    Como usar @JsonFilter, PropertyFilter e um mixin em Object para mascarar o número do cartão e remover o CVV só no mapper de log, com a API ainda devolvendo tudo.

    #Spring#Logs#Pagamentos

  2. Desenvolvimento de Software24 min de leitura

    Virtual threads no Java 21 — pinning e CLOSE_WAIT

    Por que um serviço Java 21 com virtual threads congela sem erro no log: pinning por synchronized (resolvido no Java 24, JEP 491) e CLOSE_WAIT como rastro. Thread dump, JFR, bulkhead e circuit breaker.

    #Virtual Threads#Concorrência#JVM

  3. Desenvolvimento de Software14 min de leitura

    AOP no Spring — JDK Dynamic Proxy, CGLIB e aspects customizados

    Como o Spring aplica log, transação e métricas fora da regra de negócio: conceitos de AOP, JDK Dynamic Proxy ou CGLIB (e por que o Boot prefere CGLIB), a self-invocation e aspects próprios.

    #Spring#AOP

  4. Desenvolvimento de Software7 min de leitura

    AopUtils.getTargetClass() — desembrulhando os proxies do Spring

    Com o bean envolto em proxy, bean.getClass() devolve a classe do proxy e a leitura de anotações falha. Como AopUtils.getTargetClass() recupera a classe real e quando usar ultimateTargetClass().

    #Spring#AOP

  5. Desenvolvimento de Software9 min de leitura

    AtomicBoolean — o sinalizador thread-safe da parada graciosa

    Por que um boolean comum pode não ser visto por outra thread, quando volatile basta, por que preferir AtomicBoolean e como ligar o SIGTERM a um job sem encerrar a JVM no meio de um lote.

    #Concorrência#Kubernetes#JVM

  6. Desenvolvimento de Software8 min de leitura

    Gradle — quando usar implementation, api, compileOnly e as demais configurações

    Cada configuração de dependência do Gradle alimenta um classpath: compilação, execução, processadores de anotação ou testes. Guia para bibliotecas e starters Spring Boot, com o papel do platform (BOM).

    #Gradle#Spring