Question

Comme je l'avais écrit dans le titre, je suis en train d'apprendre Spring 3.0 (je sais déjà Django, Pylons et quelques cadres plus simples MVC) et essayez d'utiliser Cassandra comme back-end pour mon application Web.

Y a-t-il des exemples concrets de le faire? Ou peut-être quelques tutoriels? Je sais que l'existence de la documentation des deux technologies, mais je cherche quelque chose « plus rapide » à lire et à obtenir me rouler.

Était-ce utile?

La solution

Je suis l'auteur de Hector https://github.com/rantav/hector , la premier client java pour cassandra donc je vous encourage à jeter un oeil à ce qu'il a à offrir.

Alors que j'ai personnellement pas utilisé hector avec le printemps, nous avons obtenu quelques contributions qui ont ajouté un soutien au printemps. Voir par exemple https: //github.com/rantav/hector/blob/master/core/src/test/resources/cassandra-context-test-v2.xml et https://github.com/rantav/hector/blob/master/core /src/test/resources/cassandra-context-test-v2-new.xml

Autres conseils

Si vous êtes déjà familier avec les cadres MVC, alors vous devez savoir que quelle base de données / datastore que vous utilisez dans le back-end ne devrait pas affecter votre application MVC dans son ensemble, ou comment vous structurer les choses - il ne devrait affecter votre couche de données et la façon dont il récupère les données.

Avec Spring MVC, la pratique acceptée est que vous représentez votre modèle de données comme une série de « modèle de domaine / classes », qui sont généralement juste POJO pour stocker vos données. « Domaine » signifie ici qu'il est lié à votre domaine de problème; donc si vous avez une application qui traite avec les clients de commander des choses que vous voudriez avoir une classe Customer, une classe Order, etc.

Chacune des trois couches de votre application MVC - les contrôleurs, la couche logique de service / entreprise, et la couche de DAO interagit avec ces classes de modèle de domaine. Comme la couche DAO est responsable de la récupération ou la mise à jour de ces données dans le back-end, cela signifie qu'il est la couche DAO qui a besoin de savoir comment récupérer votre Customer ou classe Order de Cassandra, comment mettre à jour certains champs Customer, etc.

Alors il n'y a rien de spécial sur la façon dont vous construire votre application Spring MVC lui-même lors de l'utilisation Cassandra ou de toute autre base de données « NoSQL ». Vous aurez juste besoin de fournir différentes implémentations de vos classes DAO qui peut communiquer avec Cassandra.

Si vous demandez s'il y a des pré-construits utilitaires printemps qui peuvent accéder à Cassandra (ou Thrift), alors la réponse est non, au moins aussi loin que ce qui est au printemps 3.0. Mais cela devrait être assez simple d'écrire une fois que vous avez l'ensemble de l'interface DAO et toutes les autres couches de votre application en place.

AFAIK il n'y a pas ou tutoriel exemple "public" couvrant Spring (3.0) en collaboration avec Cassandra. vous pourriez peut-être l'examiner:)

Je recommande de commencer à examiner la terminologie « modèle » au printemps (par exemple JdbcTemplate et HibernateTemplate ) et de créer quelque chose comme un "CassandraTemplate".

Je ne pense pas qu'il y ait une bibliothèque cassandra ressort disponible. Cependant, vous pouvez utiliser Spring pour instancier et configurer le grain qui parle à Cassandra, et injecter que dans tout autre haricots que vous avez qui exige de la persévérance. De cette façon, vous pouvez le laisser profiter de contrôle et renversement de toutes les installations du printemps offre ApplicationContext. De cette façon, vous pouvez séparer le code qui est au courant du datastore cassandra de votre logique métier et ressort d'utilisation.

Alors, votre composant qui parle à Cassandra sera du stéréotype de [@Repository][1], par exemple il est un dépôt, tout comme un dépôt qui parle, par exemple à une source de données JDBC.

Je suis impliqué dans un projet en utilisant Spring avec Cassandra appelé Easy Cassandra. Un échantillon est fourni ici:
https://weblogs.java.net / blog / otaviojava / archive / 2013/08/25 / gestion cassandra-printemps-données

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top