Tecnologia
Artigo sobre Spring Boot EOL.
- Detalhes
- Escrito por: Jorge Demetrio
- Categoria Pai: Linguagem de programação
- Categoria: Java
- Acessos: 87
O erro número 1 de quem coloca o Spring Cloud Config Server em produção hoje é tratar o filesystem do pod como se fosse só seu. Volume compartilhado, basedir clonado pelo JGit e um vizinho de namespace que troca o caminho por um symlink na hora certa. O resultado é leitura e escrita de arquivos fora do diretório esperado.
Esse cenário virou o CVE-2026-41002 (CVSS 7.4), divulgado em 2026-05-06 e corrigido no Spring Cloud Config 4.3.3 e 5.0.3. É uma falha de TOCTOU, e ela cai direto na arquitetura cloud-native que a maioria de nós usa sem pensar duas vezes. Bora entender o que acontece e como blindar isso hoje mesmo.
- Detalhes
- Escrito por: Jorge Demetrio
- Categoria Pai: Desenvolvimento
- Categoria: DevOps
- Acessos: 82
Você migrou pro Spring Boot 4, subiu em produção e de repente todo POST e PUT começou a responder 403 Forbidden. O GET funciona liso. O curl local passa. Os testes unitários estão verdes. Mas o front quebrou inteiro e ninguém mexeu numa linha de controller sequer. Você abre o log e não tem stack trace, não tem exceção de negócio, não tem nada. Só um 403 seco que aparece antes da requisição chegar no seu código.
Calma, não é maldição. A causa raiz não está no seu código: é o CSRF que agora vem ligado por padrão no Spring Security 7, que o Spring Boot 4 trouxe embutido. Nesse artigo a gente vai entender por que esse 403 aparece, qual a diferença entre o jeito errado e o jeito certo de resolver, e como ajustar sua configuração de segurança sem abrir um buraco que vai te assombrar na próxima auditoria. Bora?
- Detalhes
- Escrito por: Jorge Demetrio
- Categoria Pai: Java
- Categoria: Spring Framework (Boot, Data, MVC , WEB, Security, HAL e outros)
-
Também disponível:
- Acessos: 102
Existe uma forma de multiplicar o throughput da sua API sem reescrever uma linha de código de negócio, e a maioria dos devs ainda nem percebeu que ela chegou ligada de fábrica. No Spring Boot 4, Virtual Threads são o comportamento padrão no Tomcat e no Jetty. Aquele mesmo @RestController blocking que você escreve desde 2018 passa a segurar milhares de requisições concorrentes no mesmo hardware.
Durante anos a resposta para "como escalar isso aqui" foi reescrever tudo em WebFlux, com Flux, Mono e uma curva de aprendizado que afastava metade do time. O Spring Boot 4 muda essa conversa. Neste artigo você vai ver, com código de produção, o que realmente muda no seu projeto, quando o ganho é real e quando ele não acontece.
- Detalhes
- Escrito por: Jorge Demetrio
- Categoria Pai: Java
- Categoria: Spring Framework (Boot, Data, MVC , WEB, Security, HAL e outros)
-
Também disponível:
- Acessos: 105
Existe uma forma de configurar traces, métricas e logs no Spring Boot 4 sem depender do Actuator como intermediário. A maioria dos devs ainda não sabe que o starter oficial de OpenTelemetry mudou tudo. Com 2 dependências no pom.xml você tem instrumentação automática de produção pronta para enviar dados a qualquer backend: Grafana, Jaeger, Datadog ou o seu próprio coletor OTLP.
Nesse artigo você vai entender por que o modelo anterior (Actuator + Micrometer + bridge OTEL) criava fricção desnecessária, como o novo starter do Spring Boot 4 simplifica tudo isso, e ver o código de configuração completo para colocar sua app em produção observável hoje.
- Detalhes
- Escrito por: Jorge Demetrio
- Categoria Pai: Linguagem de programação
- Categoria: Java
- Acessos: 101
Imagina a cena: você está numa entrevista para uma vaga sênior de Java, tudo correndo bem, e o entrevistador solta a pergunta que separa quem decorou tutorial de quem já apanhou em produção. "Como você protege os segredos do seu Spring Cloud Config Server num cluster Kubernetes?" Você começa a falar de criptografia de propriedades, e ele te corta: "E o que você faria diante da CVE-2026-40981?"
Em 6 de maio de 2026 saíram duas falhas de severidade ALTA no Spring Cloud Config Server. Uma delas, a CVE-2026-40981, deixa qualquer cliente com acesso de rede ler segredos de qualquer projeto GCP usando um único header HTTP, sem autenticação nenhuma (CVSS 7.5). A outra, a CVE-2026-41002, abre o repositório Git do servidor a um ataque de tempo-de-checagem contra tempo-de-uso (TOCTOU). Neste artigo você vai entender o vetor de cada uma, ver o código que demonstra o problema, aplicar o patch certo e, de quebra, ficar pronto para aquela pergunta de entrevista.
- Detalhes
- Escrito por: Jorge Demetrio
- Categoria Pai: Linguagem de programação
- Categoria: Java
- Acessos: 99
Você habilitou Virtual Threads no Spring Boot, botou spring.threads.virtual.enabled=true no application.yaml, subiu a aplicação em produção e... nada. O throughput melhorou uns 10%, a latência sob carga continua a mesma, e os alertas de "pool esgotado" ainda aparecem às sextas-feiras. Você fez tudo certo pelo livro. E mesmo assim não funcionou como prometido.
- Detalhes
- Escrito por: Jorge Demetrio
- Categoria Pai: Linguagem de programação
- Categoria: Java
- Acessos: 98
Toda vaga de Dev Java sênior em 2026 pede experiência com segurança de APIs REST. Mas quando o entrevistador pergunta "você já trabalhou com um bypass de autorização?", a maioria responde com teoria. Os candidatos que chegam com um caso real, com código, exploit e fix, são os que passam para a próxima fase.
O CVE-2026-39852 do Quarkus é exatamente esse caso. Uma vulnerabilidade crítica que afeta todas as versões antes de 3.34.7 (LTS) e 3.35.2 (main): um atacante acessa /api/admin;bypass e toda a sua configuração de @RolesAllowed vira pó, com o CI verde e os testes passando normalmente.
- Detalhes
- Escrito por: Jorge Demetrio
- Categoria Pai: Linguagem de programação
- Categoria: Java
- Acessos: 72
Era segunda-feira de manha, build verde no CI, ninguem tocou nos testes em semanas. Voce atualiza a versao do Spring Boot no pom.xml, empurra o commit e vai buscar um cafe. Quando volta: 47 testes falhando. ClassNotFoundException: org.junit.platform.runner.JUnitPlatform. A pipeline quebrando antes mesmo de chegar no deploy. Aqui esta a causa raiz, e ela nao esta no seu codigo de negocio.
O JUnit 6 foi lancado em setembro de 2025 e o Spring Boot 4 ja assume JUnit 6 como padrao. Quem esta atualizando o ecossistema Spring sem preparar a suite de testes esta tomando um choque que nao estava no changelog. Nesse artigo voce vai entender exatamente o que mudou, o que vai quebrar e como fazer a migracao sem drama.
- Detalhes
- Escrito por: Jorge Demetrio
- Categoria Pai: Linguagem de programação
- Categoria: Java
- Acessos: 103
95% dos devs Java integram IA como caixa preta. Os 5% que ativam o Thinking Mode do Claude 4 no Spring Boot tomam decisoes arquiteturais em segundos.
Existe uma forma de adicionar raciocinio arquitetural ao seu sistema Spring Boot sem precisar implementar uma IA do zero. A maioria dos devs Java ainda nao descobriu que o Spring AI ja suporta o Thinking Mode do Claude 4, que expoe o processo de raciocinio do modelo antes de dar a resposta final. Bora ver como isso funciona na pratica.
- Detalhes
- Escrito por: Jorge Demetrio
- Categoria Pai: Linguagem de programação
- Categoria: Java
- Acessos: 87
Existe uma forma de ter traces, métricas e logs correlacionados no Kubernetes sem instalar agente Java, sem configurar sidecar manualmente e sem escrever uma linha de instrumentação. A maioria dos times ainda não habilitou o starter que o Spring Boot 4 trouxe. Uma dependência no pom.xml e o OpenTelemetry Operator cuida do resto.
Com o Spring Framework 7.0.7 (lançado em abril de 2026), o ecossistema Spring finalmente tem observabilidade de produção built-in. Neste artigo você vai ver como configurar do zero, com código funcional de um serviço Spring Boot 4 rodando em Kubernetes, sem mágica e sem ferramenta extra além do que o próprio starter já entrega.
- Detalhes
- Escrito por: Jorge Demetrio
- Categoria Pai: Linguagem de programação
- Categoria: Java
- Acessos: 93
Você ainda usa IPVS no seu kube-proxy? Ele foi removido no Kubernetes 1.36. E se você usa APIs deprecated que foram aposentadas nessa versão, seus CronJobs Java podem parar de funcionar silenciosamente. É exatamente o tipo de erro que só aparece em produção, nunca em staging.
O Kubernetes 1.36 ("Haru") foi lançado em abril de 2026 com 70 enhancements, e hoje saiu o patch 1.36.1. Tem mudanças que quebram pipelines Java se você atualizar sem checar. Aqui está o checklist completo antes de você apertar o botão de upgrade.
- Detalhes
- Escrito por: Jorge Demetrio
- Categoria Pai: Desenvolvimento
- Categoria: DevOps
- Acessos: 83
A maioria dos devs Java ainda configura observabilidade manualmente — 8 dependências, logback-spring.xml customizado e horas de debug para traces que nem aparecem nos logs. Existe uma solução mais inteligente: o spring-boot-starter-opentelemetry do Spring Boot 4 entrega traces distribuídos, métricas OTLP e logs correlacionados com 1 dependência e 15 linhas de YAML. Descubra como implementar observabilidade de nível enterprise na sua API Java hoje.
- Detalhes
- Escrito por: Jorge Demetrio
- Categoria Pai: Linguagem de programação
- Categoria: Java
- Acessos: 89