Inicialização do Spring 1.4.0
MILESTONE 2 foi lançado! Este é um bom momento para falar sobre o esforço conjunto entre os membros da equipe do Spring Boot e a equipe do Couchbase Java SDK para oferecer uma integração de primeira classe do Couchbase no Spring Boot :)
Em Inicialização do Spring 1.4.0
Com o Spring Boot, o Couchbase se torna um cidadão de primeira classe do ecossistema do Spring Boot!
Integração do SDK do Couchbase
O Spring Boot agora reconhece diretamente quando você tem a opção SDK do Couchbase
em seu classpath. E quando esse é o caso, ele instancia um Aglomerado
e um Balde
para você usando autoconfiguração.
O Spring Boot pode pegar propriedades para configurar ainda mais essas classes principais do SDK, até mesmo a classe CouchbaseEnvironment
!
As seguintes propriedades de bootstrapping são reconhecidas:
1 2 3 |
mola.couchbase.bootstrap-anfitriões mola.couchbase.balde.nome mola.couchbase.balde.senha |
O ajuste do ambiente (pontos de extremidade de IO, suporte a SSL e tempos limite padrão da API de sincronização) é exposto por meio das seguintes propriedades:
1 2 3 4 5 6 7 8 9 10 11 12 |
mola.couchbase.env.pontos finais.chave-valor mola.couchbase.env.pontos finais.consulta mola.couchbase.env.pontos finais.visualização mola.couchbase.env.ssl.habilitado mola.couchbase.env.ssl.chave-loja mola.couchbase.env.ssl.chave-loja-senha mola.couchbase.env.tempos limite.conectar mola.couchbase.env.tempos limite.chave-valor mola.couchbase.env.tempos limite.consulta mola.couchbase.env.tempos limite.visualização |
Esse é o suporte do ⭐️⭐️⭐️⭐️⭐️!
AVISO: Observe que, na etapa anterior, as propriedades de bootstrapping eram prefixadas com "
spring.*data*.couchbase
", agora se tornando "spring.couchbase
“.
Implementação do cache do Spring
O Spring Cache tem uma implementação do Couchbase 2.x, couchbase-spring-cache
.
O Spring Boot agora reconhece essa implementação de cache quando tanto o Java SDK quanto o couchbase-spring-cache
estão no classpath.
Isso se integra perfeitamente à seção anterior, visto que o armazenamento subjacente padrão Balde
para os caches é aquele autoconfigurado pelo Spring Boot :)
OBSERVAÇÃO: A implementação do cache foi retirada do projeto Spring Data Couchbase e colocada em seu próprio projeto (no repositório github do Couchbase), para que pudesse ser usada e lançada separadamente do Spring Data.
DICA: Não se esqueça de, pelo menos, configurar o
spring.couchbase.bootstrap-hosts
propriedade.
Essa implementação do Gerenciador de cache
permite armazenar dados de vários caches no mesmo bucket do Couchbase, prefixando automaticamente as chaves no Couchbase com o nome de cada cache.
O CouchbaseCacheManager
reutilizará automaticamente o Balde
autoconfigurados pelo Spring Boot. Basta adicionar uma propriedade para listar declarativamente os nomes de cache para que os caches correspondentes sejam pré-carregados:
1 2 |
mola.cache.tipo=couchbase mola.cache.cache-nomes=foo,bar |
Nós lhe dizemos que o suporte é cinco estrelas!
Você pode até mesmo configurá-lo para armazenar dados de diferentes caches em vários buckets. Os caches podem então ser configurados usando um padrão de construtor fluente (por exemplo, em um CacheManagerCustomizer
). Esse CacheBuilder
também permite que você ajuste ainda mais os caches, como definir um tempo de expiração padrão:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
@Configuração público classe CouchbaseCacheConfiguration { privado final Aglomerado agrupamento; //injetar o Cluster do suporte ao Couchbase do núcleo do Boot público CouchbaseCacheConfiguration(Aglomerado agrupamento) { este.agrupamento = agrupamento; } @Feijão público Balde outroBucket() { retorno este.agrupamento.openBucket("outro", "secret" (secreto)); } @Feijão público CacheManagerCustomizer cmCustomizer() { retorno c -> { c.prepareCache("biz", CacheBuilder .newInstance(outroBucket()) .withExpirationInMillis(2000)); }; } } |
Essa implementação pode usar exibições para limpar seletivamente caches que estão localizados no mesmo Bucket.
Por fim, ele oferece suporte à criação dinâmica de caches à medida que eles são solicitados. Para ativar isso, simplesmente omita a declaração de qualquer nome de cache e ative o cache do Couchbase com a propriedade relevante:
1 |
mola.cache.tipo=couchbase |
Isso usará a configuração automática do Spring Boot Balde
como o bucket padrão para todos os caches criados dinamicamente.
Diversão com @Cacheable
espera por você?
Integração de dados do Spring
Dados do Spring Couchbase 2.1.0
(trem de lançamento Hopper) incluiu várias modificações que facilitam a integração com o Spring Boot.
Primeiro, o suspeito de sempre: por padrão, o Spring Boot configurará automaticamente o Spring Data Couchbase para usar o Balde
que ele criou. Isso é possível porque as partes principais da configuração do SDK foram separadas em um Configurador do Couchbase
enquanto o que é realmente específico do Spring Data está localizado em uma nova classe base, AbstractCouchbaseDataConfiguration
.
Se você usar apenas o Spring Data, poderá continuar usando o AbstractCouchbaseConfiguration
que agora é um CouchbaseConfigurer e um AbstractCouchbaseDataConfiguration.
No entanto, se você usar o Spring Boot, ele configurará automaticamente um Configurador do Couchbase
. Você sempre pode ajustar seu próprio AbstractCouchbaseDataConfiguration
e injetar o configurador nele.
Outros recursos do Spring Data Couchbase
A versão 2.1.0 também inclui alguns novos recursos:
- Automático opcional
toque
(renovando o prazo de validade de um documento) em leituras (DATACOUCH-59) - Aprimoramentos na classificação e paginação (DATACOUCH-211, DATACOUCH-214)
- Foi adicionado suporte para auditoria (por exemplo.
@CreatedBy
anotação, DATACOUCH-91)
Conclusão
Vá pegar aquele ⭐️⭐️⭐️⭐️⭐️ MILESTONE!
Como sempre, comentários são bem-vindos (no Spring Data rastreador de problemas, Spring Boot rastreador de problemas ou no Fóruns do Couchbase).
Boa codificação!