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 |
<dependency> <groupId>io.quarkiverse.couchbase</groupId> <artifactId>quarkus-couchbase</artifactId> <version>1.0.0</version> </dependency> |
Gradle
|
1 2 3 |
dependencies { implementation '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.connection-string=couchbase://localhost quarkus.couchbase.username=Administrator quarkus.couchbase.password=password |
A extensão inicia automaticamente um TestContainer, que pode ser desativado, se desejado, com:
|
1 |
quarkus.devservices.enabled=false |
Lembre-se de acessar a interface do usuário do cluster do Couchbase em https://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 |
import jakarta.inject.Inject; import com.couchbase.client.java.Cluster; @Inject Cluster cluster; |
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 |
package org.acme; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; import com.couchbase.client.java.Cluster; @ApplicationScoped @Path("couchbase") public class GreetingResource { @Inject Cluster cluster; @GET @Produces(MediaType.TEXT_PLAIN) @Path("simpleQuery") public String simpleQuery() { var query = cluster.query("SELECT RAW 'hello world' AS greeting"); return query.rowsAs(String.class).get(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 |
package org.acme; import com.couchbase.client.java.Cluster; import com.couchbase.client.java.json.JsonObject; import com.couchbase.client.java.kv.MutationResult; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; @ApplicationScoped @Path("couchbase") public class GreetingResource { @Inject Cluster cluster; @GET @Produces(MediaType.TEXT_PLAIN) @Path("simpleUpsert") public String simpleUpsert() { var bucket = cluster.bucket("default"); var collection = bucket.defaultCollection(); JsonObject content = JsonObject.create() .put("author", "mike") .put("title", "My Blog Post 1"); MutationResult result = collection.upsert("document-key", content); return result.mutationToken().toString(); } } |
Executar seu aplicativo
Executar no modo de desenvolvimento com:
|
1 |
mvn quarkus:dev |
E vá para a UI do desenvolvedor em https://localhost:8080/q/dev-ui/welcome.
|
1 |
mvn clean install -Dnative -Dmaven.test.skip |
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