Spring Boot 1.4.0
HITO 2 ¡ya está disponible! Este es un buen momento para hablaros del esfuerzo conjunto entre los miembros del equipo de Spring Boot y el equipo de Couchbase Java SDK para ofrecer una integración de primera clase de Couchbase en Spring Boot :)
En Spring Boot 1.4.0
Couchbase se convierte en un ciudadano de primera clase del ecosistema Spring Boot.
Integración del SDK de Couchbase
Spring Boot ahora reconoce directamente cuando se tiene la directiva SDK de Couchbase
en tu classpath. Y cuando ese sea el caso, instanciará un archivo Grupo
y un Cubo
frijol para usted utilizando autoconfiguración.
Spring Boot puede recoger propiedades para configurar aún más estas clases principales del SDK, incluso la clase CouchbaseEnvironment
!
Se reconocen las siguientes propiedades de bootstrapping:
1 2 3 |
primavera.couchbase.arranque-alberga primavera.couchbase.cubo.nombre primavera.couchbase.cubo.contraseña |
El ajuste del entorno (puntos finales IO, compatibilidad con SSL y tiempos de espera predeterminados de la API de sincronización) se expone a través de las siguientes propiedades:
1 2 3 4 5 6 7 8 9 10 11 12 |
primavera.couchbase.env.puntos finales.clave-valor primavera.couchbase.env.puntos finales.consulta primavera.couchbase.env.puntos finales.ver primavera.couchbase.env.ssl.habilitado primavera.couchbase.env.ssl.clave-tienda primavera.couchbase.env.ssl.clave-tienda-contraseña primavera.couchbase.env.tiempos de espera.conecte primavera.couchbase.env.tiempos de espera.clave-valor primavera.couchbase.env.tiempos de espera.consulta primavera.couchbase.env.tiempos de espera.ver |
Esto sí que es ayuda: ⭐️⭐️⭐️⭐️⭐️
ADVERTENCIA: Tenga en cuenta que en el hito anterior las propiedades de bootstrapping llevaban el prefijo "
spring.*data*.couchbase
", que ahora se convierte en "spring.couchbase
“.
Implementación de Spring Cache
En Caché de primavera tiene una implementación en Couchbase 2.x, couchbase-spring-cache
.
Spring Boot reconoce ahora esta implementación de caché cuando tanto el SDK de Java como la aplicación couchbase-spring-cache
están en el classpath.
Esto se integra muy bien con la sección anterior, ya que el almacenamiento subyacente por defecto Cubo
para las cachés es el autoconfigurado por Spring Boot :)
NOTA: La implementación de la caché se ha sacado del proyecto Spring Data Couchbase a su propio proyecto (en el repositorio github de Couchbase), para que pueda ser utilizado y liberado por separado de Spring Data.
CONSEJO: No te olvides de configurar al menos el
spring.couchbase.bootstrap-hosts
propiedad.
Esta aplicación de la Gestor de caché
permite almacenar datos de varias cachés en el mismo bucket de Couchbase, anteponiendo automáticamente a las claves en Couchbase el nombre de cada caché.
En CouchbaseCacheManager
reutilizará automáticamente el Cubo
autoconfigurados por Spring Boot. Simplemente añadiendo una propiedad para listar declarativamente los nombres de las cachés, se precargarán las cachés correspondientes:
1 2 |
primavera.caché.tipo=couchbase primavera.caché.caché-nombres=foo,bar |
Asistencia de cinco estrellas, ¡te lo decimos nosotros!
Incluso puede configurarlo para almacenar datos para diferentes cachés en múltiples cubos. Las cachés pueden configurarse utilizando un patrón de construcción fluido (por ejemplo, en un modelo CacheManagerCustomizer
). Este CacheBuilder
también permite ajustar aún más las cachés, como establecer un tiempo de caducidad por defecto:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
@Configuración público clase CouchbaseCacheConfiguration { privado final Grupo grupo; //inyectar el Cluster desde el núcleo de soporte Boot Couchbase público CouchbaseCacheConfiguration(Grupo grupo) { este.grupo = grupo; } @Judía público Cubo otroCubo() { devolver este.grupo.openBucket("otro", "secreto"); } @Judía público CacheManagerCustomizer cmCustomizer() { devolver c -> { c.prepareCache("biz", CacheBuilder .nuevaInstancia(otroCubo()) .withExpirationInMillis(2000)); }; } } |
Esta implementación puede utilizar vistas para borrar selectivamente cachés que están colocadas en el mismo Bucket.
Por último, admite la creación dinámica de cachés a medida que se solicitan. Para activarlo, simplemente omite declarar cualquier nombre de caché y simplemente activa la caché de Couchbase con la propiedad relevante:
1 |
primavera.caché.tipo=couchbase |
Esto utilizará el Spring Boot autoconfigurado Cubo
como cubo por defecto para todas las cachés creadas dinámicamente.
Diversión con @Cacheable
¿te espera?
Integración de datos de Spring
Spring Data Couchbase 2.1.0
(release train Hopper) ha incluido varias modificaciones que hacen que la integración con Spring Boot sea pan comido.
Primero el sospechoso de siempre: por defecto Spring Boot autoconfigurará Spring Data Couchbase para que utilice la directiva Cubo
creado. Esto es posible gracias a haber separado las partes principales de configuración del SDK en un CouchbaseConfigurer
mientras que lo que es realmente específico de Spring Data se encuentra en una nueva clase base, AbstractCouchbaseDataConfiguration
.
Si sólo utiliza datos de Spring, puede seguir utilizando la función AbstractCouchbaseConfiguration
que ahora es tanto un CouchbaseConfigurer como un AbstractCouchbaseDataConfiguration.
Sin embargo, si utiliza Spring Boot, se autoconfigurará un archivo CouchbaseConfigurer
. Siempre puedes afinar tu propio AbstractCouchbaseDataConfiguration
e inyectar el configurador en él.
Otras funciones de Spring Data Couchbase
La versión 2.1.0 también incluye algunas novedades:
- Automático opcional
toque
(refrescar la expiración de un documento) en lee (DATACOUCH-59) - Mejoras en la clasificación y paginación (DATACOUCH-211, DATACOUCH-214)
- Se ha añadido compatibilidad con la auditoría (p. ej.
@CreadoPor
anotación, DATACOUCH-91)
Conclusión
¡Ve a por ese ⭐️⭐️⭐️⭐️⭐️ MILESTONE!
Como siempre, los comentarios son bienvenidos (en los Datos de primavera seguimiento de problemasSpring Boot seguimiento de problemas o en el Foros de Couchbase).
¡Feliz codificación!