Java 21: desbloqueando o poder do driver Java MongoDB com threads virtuais
Avalie esse Artigo
Olá, comunidade dev! O Java 21 está aqui e, se você estiver usando o driver Java do MongoDB, esta é uma viagem que não vai querer perder. Melhor desempenho e threads não bloqueantes estão no menu de hoje! . . . . . . .
Neste artigo, vamos dar uma volta por alguns dos principais recursos do Java 21 que não são apenas interessantes para os desenvolvedores Java em geral, mas são particularmente importantes para aqueles de nós que ultrapassam os limites com o MongoDB.
Para começar, vamos dar uma olhada em todos os recursos lançados no Java 21, também conhecido como JDK Enhancement Proposal (JEP).
Embora alguns desses JEPs, como depreciações, possam não ser os mais empolgantes, alguns são mais interessantes, principalmente esses três.
Vamos discutir um pouco mais sobre eles.
Esses três JEPs estão intimamente relacionados ao Projeto Loom, que é uma Iniciativa dentro do ecossistema Java que introduz threads leves chamadas threads virtuais. Esses threads virtuais simplificam a programação simultânea, fornecendo uma alternativa mais escalável e eficiente aos threads tradicionais de peso pesado.
Com o Project Loom, os desenvolvedores podem criar milhares de threads virtuais sem a sobrecarga típica de desempenho, facilitando a escrita de código simultâneo. Os threads virtuais oferecem melhor utilização de recursos e simplificam a manutenção do código, fornecendo uma abordagem mais acessível para gerenciar a simultaneidade em aplicativos Java. O projeto visa aprimorar a experiência do desenvolvedor, reduzindo as complexidades associadas ao gerenciamento de threads e otimizando o desempenho.
Se você quiser mais detalhes, pode ler o épico no Jira do MongoDB, que explica as razões desse suporte.
No Spring Boot 3.2.0+, basta adicionar a seguinte propriedade ao seu arquivo
application.properties
para habilitar os threads virtuais.1 spring.threads.virtual.enabled=true
É enorme porque isso significa que seus acessos aos recursos do MongoDB agora não estão bloqueando - graças aos threads virtuais.
Isso melhorará drasticamente o desempenho de seu back-end. O gerenciamento de uma grande carga de trabalho agora é mais fácil, pois todos os threads são não bloqueantes por padrão e a sobrecarga da alternância de contexto para os threads da plataforma é quase gratuita.
Você pode ler a publicação doblog de dan Veja para saber mais sobre o Spring Boot e os threads virtuais.
A recente versão do Java 21 liberou recursos interessantes para os usuários do driver Java do MongoDB, especialmente com a introdução de threads virtuais. Desde a versão 4.11, esses threads leves oferecem uma abordagem simplificada para programação simultânea, aumentando a escalabilidade e a eficiência.
Para os Entusiastas do Spring Boot, Adotar threads virtuais é uma mudança de jogo para o desempenho do backend, tornando as interações do MongoDB não bloqueantes por padrão.
Interessado em experimentar esses progressos? Mergulhe no futuro do desenvolvimento Java e navegue no MongoDB com o Spring Boot usando o Java Spring Boot MongoDB Starter no GitHub.
Se você ainda não tiver um, reivindique seu cluster MongoDB gratuito no MongoDB Atlas para começar a usar o repositório acima mais rapidamente.
Feliz codificação! 🚀