Domanda

Come avevo scritto nel titolo, sto cercando di imparare Primavera 3.0 (so già Django, Piloni e pochi semplici framework MVC) e provare a utilizzare Cassandra come backend per la mia applicazione web.

Ci sono molti esempi reali di fare questo? O forse qualche tutorial? So circa l'esistenza di documentazione di entrambe le tecnologie, ma sto cercando qualcosa di "più veloce" per leggere e farmi rotolamento.

È stato utile?

Soluzione

Sono l'autore di Ettore https://github.com/rantav/hector , il leader client java per Cassandra quindi vi invitiamo a dare un'occhiata a ciò che ha da offrire.

Mentre io personalmente non sono stato con Ettore con la molla, abbiamo avuto un paio di contributi che hanno aggiunto il supporto a molla. Si veda ad esempio 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

Altri suggerimenti

Se si ha già familiarità con i framework MVC allora si dovrebbe essere consapevoli del fatto che quale database / datastore si utilizza nel backend non dovrebbe avere un impatto l'applicazione MVC come un tutto, o come si struttura le cose - dovrebbe interessare solo la parte dati e come si recupera i dati.

Con Spring MVC, la pratica accettata è che voi rappresentate il vostro modello di dati come una serie di "Domain Model / classi", che sono in genere solo POJO per tenere i vostri dati. "Dominio" qui significa che è correlato al vostro dominio del problema; quindi, se si dispone di un'applicazione che si occupa di clienti che ordinano cose che ci si vuole avere una classe Customer, una classe Order, ecc.

Ognuno dei tre strati della vostra applicazione MVC - i controllori, il livello di logica di servizio / incassi, e lo strato DAO interagisce con queste classi del modello di dominio. Dal momento che lo strato DAO è responsabile del recupero o l'aggiornamento di questi dati nel backend, questo significa che è lo strato DAO che ha bisogno di sapere come prendere il vostro Customer o classe Order da Cassandra, come aggiornare alcuni campi Customer, ecc.

Quindi non v'è nulla di speciale come si dovrebbe costruire la vostra applicazione Spring MVC per sé quando si utilizza Cassandra o di qualsiasi altro database "NoSQL". Avrete solo bisogno di fornire diverse implementazioni delle vostre classi DAO, che possono comunicare con Cassandra.

Se ti stai chiedendo se ci sono delle utility pre-costruiti molla che può accedere a Cassandra (o Thrift), allora la risposta è no, almeno per quanto riguarda ciò che è in primavera 3.0. Ma questo dovrebbe essere abbastanza semplice da scrivere una volta che hai il set interfaccia di DAO e tutti gli altri livelli della vostra applicazione in atto.

Per quanto ne sappia non c'è tutorial "pubblico" o ad esempio che copre molla (3.0) in combinazione con Cassandra. Così forse si poteva guardare in esso:)

Vorrei raccomandare a iniziare a guardare il "modello" terminologia in primavera (ad esempio, JDBCTemplate e HibernateTemplate ) e creare una sorta di "CassandraTemplate".

Non credo che ci sia alcuna libreria cassandra-primavera disponibili. Tuttavia, è possibile utilizzare per creare un'istanza di primavera e configurare il fagiolo che parla a Cassandra, e iniettare che in qualsiasi altra fagioli che avete che richiede la persistenza. In questo modo si può lasciare beneficiare di inversione di controllo e tutti i servizi della primavera ApplicationContext offre. In questo modo è possibile separare il codice che è a conoscenza del datastore Cassandra dalla logica di business e l'uso di primavera.

Quindi, il componente che parla a Cassandra sarà dello stereotipo [@Repository][1], per esempio si tratta di un repository, proprio come un repository che parla, per esempio, a un'origine dati JDBC.

Sono coinvolto con un progetto che utilizza primavera con Cassandra chiamato facile Cassandra. Un campione è fornito qui:
https://weblogs.java.net / blog / otaviojava / archive / 2013/08/25 / run-cassandra-primavera-dati

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top