Pergunta

Como escrevi no título, estou tentando aprender a primavera 3.0 (já conheço Django, Pylons e poucas estruturas MVC mais simples) e tento usar o Cassandra como um back -end para o meu aplicativo da Web.

Existem exemplos do mundo real de fazer isso? Ou talvez alguns tutoriais? Conheço a existência de documentação de ambas as tecnologias, mas estou procurando algo "mais rápido" para ler e me fazer rolar.

Foi útil?

Solução

Eu sou o autor de Hector https://github.com/rantav/hector, o principal cliente Java da Cassandra, então eu encorajo você a dar uma olhada no que ele tem a oferecer.

Enquanto eu pessoalmente não uso o Hector com a Spring, recebemos algumas contribuições que adicionaram suporte à mola. Veja, por exemplo https://github.com/rantav/hector/blob/master/core/src/test/resources/cassandra-context-test-v2.xml e https://github.com/rantav/hector/blob/master/core/src/test/resources/cassandra-context-test-v2-new.xml

Outras dicas

Se você já está familiarizado com as estruturas do MVC, deve estar ciente de qual banco de dados/armazenamento de dados que você usa no back -end não deve afetar seu aplicativo MVC como um todo ou como você estrutura as coisas - ele deve afetar apenas sua camada de dados e como ele Recupera dados.

Com o Spring MVC, a prática aceita é que você representa seu modelo de dados como uma série de "modelo / classes de domínio", que normalmente são apenas pojos para manter seus dados. "Domínio" aqui significa que está relacionado ao seu domínio do problema; Então, se você tem um aplicativo que lida com os clientes que pedem coisas que você gostaria de ter um Customer classe, an Order aula, etc.

Cada uma das três camadas do seu aplicativo MVC - os controladores, a camada lógica de serviço/negócios e a camada DAO interage com essas classes de modelo de domínio. Como a camada DAO é responsável por recuperar ou atualizar esses dados no back -end, isso significa que é a camada DAO que precisa saber como buscar seu Customer ou Order classe de Cassandra, como atualizar certos Customer campos, etc.

Portanto, não há nada de especial sobre como você criaria seu próprio aplicativo MVC de primavera ao usar o Cassandra ou qualquer outro banco de dados "NoSQL". Você só precisará fornecer implementações diferentes de suas classes DAO que podem se comunicar com Cassandra.

Se você está perguntando se existem utilitários de primavera pré-construídos que podem acessar o Cassandra (ou a economia), a resposta é não, pelo menos até o que está na primavera 3.0. Mas isso deve ser bastante simples de escrever depois de ter o conjunto de interface Dao e todas as outras camadas do seu aplicativo.

Afaik Não existe um tutorial "público" ou exemplo que cobre a primavera (3.0) em conjunto com Cassandra. Então talvez você possa olhar para isso :)

Eu recomendaria começar a olhar para a terminologia "modelo" na primavera (por exemplo JDBCTemplate e HibernateTemplate) e crie algo como um "Cassandratemplate".

Eu não acho que exista nenhuma biblioteca Cassandra-Spring disponível. No entanto, você pode usar a primavera para instanciar e configurar o feijão que fala com Cassandra e injetar isso em qualquer outro feijão que você tenha que requer persistência. Dessa forma, você pode permitir que isso se beneficie da inversão do controle e de todas as instalações que o Spring ApplicationContext oferece. Dessa forma, você pode separar o código que está ciente do armazenamento de dados Cassandra da sua lógica de negócios e usar a primavera.

Então, seu componente que fala com Cassandra será do [@Repository][1] Estereótipo, por exemplo, é um repositório, assim como um repositório que fala, por exemplo, com uma JDBC DataSource.

Estou envolvido com um projeto usando a primavera com Cassandra chamada Easy Cassandra. Uma amostra é fornecida aqui:

https://weblogs.java.net/blog/otaviojava/archive/2013/08/25/run-cassandra-spring-data

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top