Java

Uso do Spring Data Couchbase em um aplicativo CDI

Se você estiver no espaço JEE e quiser uma camada de gerenciamento de dados moderna para o seu Aplicativos NoSqlvocê poderá se ver rapidamente limitado. Há alguns projetos interessantes, como Hibernar OGM ou Deltaspikemas nenhum deles oferece suporte ao Couchbase e é tão avançado quanto o Spring Data.

Mas está tudo bem porque os projetos do Spring Data têm extensões CDI. Isso significa que você pode usá-los em contêineres JEE. Trazer outra estrutura de DI como o Spring traz alguma sobrecarga, uma vez que o CDI já está aqui, mas vale a pena a sobrecarga quando você obtém todas as vantagens que vêm do Spring Data.

Então, vamos ver como isso funciona. Usarei o exemplo do hibernate5 disponível nos guias de início rápido do wildfly e substituirei o Hibernate Core por Dados do Spring Couchbase. O código original pode ser encontrado aqui e o código final migrado aqui.

Conectar-se ao Couchbase com CDI

A primeira coisa que você deseja configurar é uma conexão com um cluster do Couchbase. Como você está usando CDI, pode criar um @Producer. Não entrarei em detalhes sobre como você pode externalizar propriedades para o endereço IP, o nome do bucket, o login e a senha do administrador. Usarei os padrões. Se você não fornecer nenhum endereço ou nome de bucket, o SDK presumirá que você tem o Couchbase Server em execução no localhost com um bucket chamado default.

Isso deve lhe dar tudo o que você precisa para ter repositórios do Couchbase funcionando. No entanto, esteja ciente de que há um bug na versão mais recente do Solda. Portanto, você pode ter problemas. Uma solução rápida pode ser encontrada aqui. Basicamente, o problema é que o Weld mudou a forma de armazenar qualificadores, o que não é mais compatível com o método de pesquisa Bean (baseado em qualificadores). Portanto, resolvi o problema temporariamente alterando a forma como as anotações são processadas diretamente na extensão CDI. O código de exemplo tem a seguinte aparência:

É mais provável que você encontre esse bug se usar o Wildfly 10 ou o Jboss EAP 7.

Integrar o repositório do Spring

Depois de ter seu produtor para a classe CouchbaseOperations, você pode começar a criar repositórios. Você não precisa implementar nada, o que faz parte da beleza do Spring Data. Basta criar uma interface que estenda a classe CouchbasePagingAndSortingRepository especificando a classe de entidade que você deseja gerenciar, bem como o tipo da chave. No exemplo, é . O que significa que o repositório armazena entidades Members usando uma chave Longo como chave.

Apenas adicionarei um método chamado findAll que recebe um Classificar como parâmetro.

Isso requer uma alteração no MemberListProducer para usar esse método específico. A Classificar permite que você defina o objeto Classificar bem como os campos a serem usados para a direção Classificar.

Agora você deve estar pronto para implantar esse projeto no seu contêiner JEE. Se você usar o Wildfly e o código neste repositório do github, você pode executar mvn wildfly:implementar e acesse o seguinte URL: http://localhost:8080/wildfly-springdata.

Informe-nos se encontrar algum problema ou tiver alguma sugestão na seção de comentários abaixo!

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Laurent Doguin

Laurent é um nerd metaleiro que mora em Paris. Em sua maior parte, ele escreve código em Java e texto estruturado em AsciiDoc, e frequentemente fala sobre dados, programação reativa e outras coisas que estão na moda. Ele também foi Developer Advocate do Clever Cloud e do Nuxeo, onde dedicou seu tempo e experiência para ajudar essas comunidades a crescerem e se fortalecerem. Atualmente, ele dirige as Relações com Desenvolvedores na Couchbase.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.