Buenas noticias a todos, Spring Data Couchbase 2 fue lanzado la semana pasada y ya está disponible en el impresionante Spring Initializr. Este impresionante sitio web te permite iniciar un proyecto Spring/Couchbase muy rápidamente. Sólo tienes que seleccionar las dependencias que deseas para tu proyecto, pulsar el botón Generar Proyecto y terminarás con un archivo que contiene un proyecto listo para ser importado. Este asistente también está disponible en Conjunto de herramientas Spring.

1/ Ir a http://start.spring.io/

2/ Ahora mismo sólo está disponible con Spring Boot 1.4.0-SNAPSHOT, así que asegúrese de seleccionar la versión correcta de SpringBoot.

3/ Seleccione Couchbase

4/ Añade cualquier otra dependencia que necesites para tu proyecto

5/ Generar el proyecto

Ahora usted tiene un archivo listo para ser importado en su editor de elección. Como estoy haciendo cosas Spring tiendo a pegarse con su suite de herramientas por defecto. Es básicamente Eclipse pre-configurado con el conjunto adecuado de plugins.

6/ Me he quedado con Maven en el asistente de generación para que pueda simplemente importarlo como un proyecto maven existente.

Para activar la configuración por defecto, debe añadir lo siguiente en su archivo application.properties:

O puedes crear un @Configuration Bean que extienda AbstractCouchbaseConfiguration. Ahora estamos listos para empezar. Aquí tienes un rápido inventario de lo que te ofrece la autoconfiguración de Spring Boot para Couchbase.

Propiedades

Puede definir varias propiedades para configurar su acceso a Couchbase, aquí están los valores por defecto:

  • read-your-own-writes es stale=false y ScanConsistency=statement_plus
  • fuertemente consistente es stale=false y ScanConsistency=request_plus
  • update-after es stale=update-after y ScanConsistency=not_bounded
  • eventually-consistent es stale=true y ScanConsistency=not_bounded

Nivel rancio

Si se establece stale=true, Couchbase no refrescará la vista aunque esté obsoleta. El beneficio de esto es una mejora en la latencia de la consulta. Si se establece stale=update_after, Couchbase actualizará la vista después de que se devuelva el resultado antiguo. Si se establece stale=false, Couchbase actualizará la vista y devolverá los resultados más actualizados.

Nivel de coherencia de la exploración

no_limitado

Este es el valor por defecto (para peticiones de una sola sentencia). No se utiliza ningún vector de marca de tiempo en la exploración del índice. Este es también el modo más rápido, porque evitamos el coste de obtener el vector, y también evitamos cualquier espera para que el índice se ponga al día con el vector.

solicitud_plus

Esto implementa una fuerte consistencia por petición. Antes de procesar la petición, se obtiene un vector actual. El vector se utiliza como límite inferior para las sentencias de la petición. Si hay sentencias DML en la petición, también se aplica RYOW dentro de la petición.

declaración_plus

Esto implementa una consistencia fuerte por sentencia. Antes de procesar cada sentencia, se obtiene un vector actual que se utiliza como límite inferior para esa sentencia.

Anotación del índice

Este es un ejemplo de repositorio con automatismo creación de índices. Cuando se inicializa el bean repositorio, nos aseguramos de que el índice definido por las anotaciones existe y si no las creamos.

El índice debe utilizarse únicamente para el desarrollo. Aconsejamos desactivar la generación automática de índices en producción y asegurarse de crear el índice correcto en los nodos adecuados durante el proceso de despliegue.

VerIndexado

Este anotación le permite definir el nombre del documento de diseño y el nombre de la vista, así como una función de mapa y reducción personalizada.

N1qlPrimaryIndexed

Este anotación asegura que el bucket asociado al repositorio actual tendrá un índice primario N1QL.

N1qlSecondaryIndexed

Este anotación se asegura de que existe un índice secundario sobre el tipo de su Entidad.

Judías disponibles

Si has activado la autoconfiguración, tendrás acceso a varios Beans, aquí tienes una lista de los más útiles:

  • CouchbaseTemplate couchbaseTemplate
    • Le da acceso a la API de bajo nivel de Spring Data Couchbase
  • ValidatingCouchbaseEventListener validationEventListener
    • Validador de entidades dependiente de javax.validation. Cuando se registra como componente de Spring, se invoca automáticamente antes de guardar las entidades en la base de datos.
  • CustomConversions customConversions
    • Se utiliza para capturar conversiones de tipo JSON personalizadas.
  • Cubo couchbaseClient
    • Acceso directo al cubo configurado

Conclusión

Esto debería haberle dado una buena visión general de lo que está disponible al iniciar un nuevo proyecto con spring-boot-starter-data-couchbase. Para obtener más información sobre Spring Data Couchbase 2, consulte la página documentación o visite este blog con regularidad para conocer más novedades sobre Spring/Couchbase.

Autor

Publicado por Laurent Doguin

Laurent es un metalero empollón que vive en París. Principalmente escribe código en Java y texto estructurado en AsciiDoc, y a menudo habla sobre datos, programación reactiva y otras cosas de moda. También fue Developer Advocate de Clever Cloud y Nuxeo, donde dedicó su tiempo y experiencia a ayudar a esas comunidades a crecer y fortalecerse. Ahora dirige las relaciones con los desarrolladores en Couchbase.

Dejar una respuesta