Nos complace anunciar la Disponibilidad General (AG) del Couchbase Quarkus SDK 1.0ya está oficialmente listo para su uso en producción. Esta versión aporta integración nativa con el framework Quarkus, mejorando la productividad de los desarrolladores y el rendimiento de las aplicaciones. Una característica destacada de esta versión es la compatibilidad con GraalVM generación nativa de imágenes, lo que permite tiempos de arranque ultrarrápidos y un rendimiento optimizado en tiempo de ejecución.
¿Qué hay de nuevo en Couchbase Quarkus SDK 1.0?
El nuevo quarkus-couchbase integra nuestro SDK Java existente en el ecosistema de Quarkus. Produce un Grupo objeto fácilmente accesible con ArC de Quarkus inyección de dependencias y añade compatibilidad con GraalVM para ejecutar el SDK de Java como un ejecutable nativo en cualquier plataforma.
Compatibilidad perfecta con imágenes nativas de GraalVM:
-
- Tiempos de arranque ultrarrápidos y menor consumo de memoria
- Ideal para entornos nativos en la nube y sin servidor
Integración sin esfuerzo con Quarkus:
-
- Inyección de dependencias integrada para la inyección de clústeres
- API reactivas e imperativas para un desarrollo flexible
- Configuración simplificada de la conectividad
- Métricas micrométricas, comprobaciones de salud de SmallRye
Colaboración de código abierto:
-
- Explora la Repositorio GitHub contribuir y aprender
Primeros pasos con Couchbase Quarkus SDK
1. Crear una nueva aplicación
Recomendamos crear una aplicación Quarkus con la extensión Couchbase a través de código.quarkus.io. El enlace añadirá automáticamente el Couchbase y REST Extensiones Quarkus y generar una nueva aplicación de ejemplo.
Si ya tienes una aplicación a mano, añade Couchbase como dependencia:
1.1. Añadir la dependencia
Maven
1 2 3 4 5 |
<dependencia> <groupId>io.quarkiverse.couchbase</groupId> <artifactId>quarkus-couchbase</artifactId> <versión>1.0.0</versión> </dependencia> |
Gradle
1 2 3 |
dependencias { aplicación 'io.quarkiverse.couchbase:quarkus-couchbase:1.0.0' } |
2. Configure su aplicación
Añada la cadena de conexión y las credenciales en aplicación.propiedades
situado en src/main/resources/application.properties
:
1 2 3 |
quarkus.couchbase.conexión-cadena=couchbase://localhost quarkus.couchbase.nombre de usuario=Administrador quarkus.couchbase.contraseña=contraseña |
La extensión inicia automáticamente un TestContainer, que puede desactivarse si se desea con:
1 |
quarkus.devservices.habilitado=falso |
Recuerde dirigirse a la interfaz de usuario de Couchbase Cluster en http://localhost:8091 y crear un Bucket llamado por defecto si utiliza DevServices.
3. Inyección del clúster
La extensión Couchbase de Quarkus produce un archivo Grupo
que puede inyectarse mediante la función @Inject
anotación.
1 2 3 4 5 |
importar yakarta.inyectar.Inyectar; importar com.couchbase.cliente.java.Grupo; @Inyectar Grupo grupo; |
A partir de ahí, su uso es el mismo que con el SDK de Java normal.
4. Ejemplo: Creación de un punto final HTTP GET
Modifique el código en 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 |
paquete org.acme; importar yakarta.empresa.contexto.ApplicationScoped; importar yakarta.inyectar.Inyectar; importar yakarta.ws.rs.GET; importar yakarta.ws.rs.Ruta; importar yakarta.ws.rs.Produce; importar yakarta.ws.rs.núcleo.MediaType; importar com.couchbase.cliente.java.Grupo; @ApplicationScoped @Ruta("couchbase") público clase SaludoRecurso { @Inyectar Grupo grupo; @GET @Produce(MediaType.TEXT_PLAIN) @Ruta("simpleQuery") público Cadena simpleQuery() { var consulta = grupo.consulta("SELECT RAW 'hola mundo' AS saludo"); devolver consulta.rowsAs(Cadena.clase).consiga(0); } } |
5. Ejemplo: Realización de operaciones KV
Utiliza la misma API KV que en el SDK Java 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 |
paquete org.acme; importar com.couchbase.cliente.java.Grupo; importar com.couchbase.cliente.java.json.JsonObject; importar com.couchbase.cliente.java.kv.MutationResult; importar yakarta.empresa.contexto.ApplicationScoped; importar yakarta.inyectar.Inyectar; importar yakarta.ws.rs.GET; importar yakarta.ws.rs.Ruta; importar yakarta.ws.rs.Produce; importar yakarta.ws.rs.núcleo.MediaType; @ApplicationScoped @Ruta("couchbase") público clase SaludoRecurso { @Inyectar Grupo grupo; @GET @Produce(MediaType.TEXT_PLAIN) @Ruta("simpleUpsert") público Cadena simpleUpsert() { var cubo = grupo.cubo("por defecto"); var colección = cubo.defaultCollection(); JsonObject contenido = JsonObject.crear() .poner("autor", "mike") .poner("título, "Mi Blog Post 1"); MutationResult resultado = colección.upsert("clave del documento", contenido); devolver resultado.mutationToken().toString(); } } |
Ejecutar la aplicación
Ejecutar en modo dev con:
1 |
mvn quarkus:dev |
Y dirígete a la interfaz de desarrollador en http://localhost:8080/q/dev-ui/welcome.
1 |
mvn limpiar instale -Dnative -Dmaven.prueba.omitir |
La imagen nativa se ubicará en la carpeta objetivo de su módulo.
¿Por qué elegir Couchbase Quarkus SDK 1.0?
-
- Rendimiento: Las imágenes nativas de GraalVM proporcionan una velocidad y eficiencia sin precedentes.
- Flexibilidad: La perfecta integración con Quarkus simplifica los flujos de trabajo de desarrollo.
- Escalabilidad: El rico conjunto de características de Couchbase soporta aplicaciones a cualquier escala.
¿Listo para construir?
Empiece hoy mismo a crear aplicaciones nativas en la nube ultrarrápidas. Explore Repositorio GitHub del SDK de Couchbase Quarkus para obtener más recursos, contribuir al proyecto y compartir sus comentarios.
Redefinamos juntos el rendimiento de las aplicaciones y la productividad de los desarrolladores.
Comunidad y apoyo
Creemos en el poder de la comunidad y el desarrollo de código abierto. El SDK de Quarkus para Couchbase es de código abiertoy le animamos a que contribuya, aporte sus comentarios y se una a la conversación. Para obtener asistencia, si es cliente con licencia para empresas, puede ponerse en contacto con nosotros a través del servicio de asistencia. documentaciónúnete al Foros de Couchbase o Couchbase Discordo a través de nuestro portal de asistencia.
Lecturas complementarias
Para obtener más información, consulte nuestro sitio web de documentación. En ella encontrarás más información sobre la API, especialmente sobre transacciones y operaciones asíncronas, así como material de referencia y enlaces a enlaces de ejemplo para que puedas profundizar en el tema:
Sistemas operativos compatibles y los requisitos de compatibilidad figuran en nuestro sitio web de documentación.
¡Feliz codificación!
El equipo de Couchbase