Ci sono esempi / tutorial di utilizzo di primavera 3.0 con Cassandra come backend? [chiuso]
-
20-09-2019 - |
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.
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