Temos o prazer de anunciar a disponibilidade geral (GA) do Couchbase Quarkus SDK 1.0agora está oficialmente pronto para uso em produção! Esta versão traz a integração nativa com a estrutura Quarkus, melhorando a produtividade do desenvolvedor e o desempenho do aplicativo. Um recurso de destaque dessa versão é o suporte para GraalVM geração de imagens nativas, permitindo tempos de inicialização ultrarrápidos e desempenho otimizado do tempo de execução.
O que há de novo no Couchbase Quarkus SDK 1.0?
O novo quarkus-couchbase integra nosso Java SDK existente ao ecossistema do Quarkus. Ela produz um Aglomerado objeto facilmente acessível com o ArC do Quarkus injeção de dependência e adiciona compatibilidade com o GraalVM para executar o Java SDK como uma estrutura executável nativo em qualquer plataforma.
Suporte contínuo a imagens nativas do GraalVM:
-
- Tempos de inicialização ultrarrápidos e espaço de memória reduzido
- Ideal para ambientes nativos da nuvem e sem servidor
Integração sem esforço com o Quarkus:
-
- Injeção de dependência integrada para injeção de cluster
- APIs reativas e imperativas para desenvolvimento flexível
- Configuração simplificada para conectividade
- Métricas de micrômetro, verificações de integridade do SmallRye
Colaboração de código aberto:
-
- Explore o Repositório do GitHub para contribuir e aprender
Introdução ao Couchbase Quarkus SDK
1. Crie um novo aplicativo
Recomendamos criar um aplicativo Quarkus com a extensão Couchbase via code.quarkus.io. O link adicionará automaticamente o Couchbase e REST Extensões do Quarkus e gerar um novo aplicativo de amostra.
Se você já tiver um aplicativo em mãos, adicione o Couchbase como uma dependência:
1.1. Adicionar a dependência
Maven
|
1 2 3 4 5 |
<dependência> <groupId>io.quarkiverso.couchbase</groupId> <artifactId>quarkus-couchbase</artifactId> <versão>1.0.0</versão> </dependência> |
Gradle
|
1 2 3 |
dependências { implementação 'io.quarkiverse.couchbase:quarkus-couchbase:1.0.0' } |
2. Configure seu aplicativo
Adicione sua string de conexão e credenciais em application.properties localizado em src/main/resources/application.properties:
|
1 2 3 |
quarkus.couchbase.conexão-string=couchbase://localhost quarkus.couchbase.nome de usuário=Administrador quarkus.couchbase.senha=senha |
A extensão inicia automaticamente um TestContainer, que pode ser desativado, se desejado, com:
|
1 |
quarkus.serviços de desenvolvimento.habilitado=falso |
Lembre-se de acessar a interface do usuário do cluster do Couchbase em http://localhost:8091 e criar um Bucket chamado padrão se você estiver usando DevServices.
3. Injetando o cluster
A extensão do Quarkus Couchbase produz um arquivo Aglomerado que pode ser injetado usando o bean @Inject anotação.
|
1 2 3 4 5 |
importação Jacarta.injetar.Injetar; importação com.couchbase.cliente.java.Aglomerado; @Injetar Aglomerado agrupamento; |
A partir daí, seu uso é o mesmo que seria com o Java SDK normal.
4. Exemplo: Criação de um ponto de extremidade HTTP GET
Modifique o código em src/main/java/org/acme/GreetingResource.java:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
pacote org.acme; importação Jacarta.empresa.contexto.Escopo do aplicativo; importação Jacarta.injetar.Injetar; importação Jacarta.ws.rs.OBTER; importação Jacarta.ws.rs.Caminho; importação Jacarta.ws.rs.Produz; importação Jacarta.ws.rs.núcleo.Tipo de mídia; importação com.couchbase.cliente.java.Aglomerado; @Escopo do aplicativo @Caminho("couchbase") público classe Recurso de saudação { @Injetar Aglomerado agrupamento; @OBTER @Produz(Tipo de mídia.TEXT_PLAIN) @Caminho("simpleQuery") público Cordas simpleQuery() { var consulta = agrupamento.consulta("SELECT RAW 'hello world' AS greeting"); retorno consulta.rowsAs(Cordas.classe).obter(0); } } |
5. Exemplo: Execução de operações KV
Use a mesma API KV do Java SDK normal:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
pacote org.acme; importação com.couchbase.cliente.java.Aglomerado; importação com.couchbase.cliente.java.json.JsonObject; importação com.couchbase.cliente.java.kv.Resultado da mutação; importação Jacarta.empresa.contexto.Escopo do aplicativo; importação Jacarta.injetar.Injetar; importação Jacarta.ws.rs.OBTER; importação Jacarta.ws.rs.Caminho; importação Jacarta.ws.rs.Produz; importação Jacarta.ws.rs.núcleo.Tipo de mídia; @Escopo do aplicativo @Caminho("couchbase") público classe Recurso de saudação { @Injetar Aglomerado agrupamento; @OBTER @Produz(Tipo de mídia.TEXT_PLAIN) @Caminho("simpleUpsert") público Cordas simpleUpsert() { var balde = agrupamento.balde("default"); var coleção = balde.defaultCollection(); JsonObject conteúdo = JsonObject.criar() .colocar("autor", "mike") .colocar("título", "Minha publicação no blog 1"); Resultado da mutação resultado = coleção.upsert("document-key" (chave do documento), conteúdo); retorno resultado.mutationToken().toString(); } } |
Executar seu aplicativo
Executar no modo de desenvolvimento com:
|
1 |
mvn quarkus:dev |
E vá para a UI do desenvolvedor em http://localhost:8080/q/dev-ui/welcome.
|
1 |
mvn limpo instalar -Dnative -Dmaven.teste.pular |
A imagem nativa estará localizada no diretório alvo de seu módulo.
Por que escolher o Couchbase Quarkus SDK 1.0?
-
- Desempenho: As imagens nativas do GraalVM oferecem velocidade e eficiência inigualáveis.
- Flexibilidade: A integração perfeita com o Quarkus simplifica os fluxos de trabalho de desenvolvimento.
- Escalabilidade: O rico conjunto de recursos do Couchbase oferece suporte a aplicativos em qualquer escala.
Pronto para construir?
Comece hoje mesmo a criar aplicativos nativos da nuvem extremamente rápidos! Explore o Repositório GitHub do SDK do Couchbase Quarkus para obter mais recursos, contribuir com o projeto e compartilhar seus comentários.
Vamos redefinir o desempenho do aplicativo e a produtividade do desenvolvedor - juntos!
Comunidade e suporte
Acreditamos no poder da comunidade e no desenvolvimento de código aberto. O SDK do Quarkus para o Couchbase é de código abertoe incentivamos você a contribuir, fornecer feedback e participar da conversa. Para obter suporte, se você for nosso cliente licenciado empresarial, poderá entrar em contato por meio do suporte; caso contrário, poderá acessar nosso abrangente documentação, junte-se ao Fóruns do Couchbase ou Discórdia do Couchbaseou entre em contato por meio de nosso portal de suporte.
Leitura adicional
Para saber mais, consulte nosso site de documentação. Ele detalha mais a API, especialmente no que se refere a transações e operações assíncronas, e fornece outros materiais de referência e links de vinculação de amostra para você se aprofundar:
Sistemas operacionais suportados e os requisitos de compatibilidade estão listados em nosso site de documentação.
Boa codificação!
A equipe do Couchbase