Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Utilizzo di Storm in progetti Java EE

Link copiato negli appunti

L'esempio che utilizzeremo per affrontare questa parte pratica della guida consiste nella seguente traccia: lettura di un file contenente un insieme di parole (una su ogni riga), normalizzazione delle parole lette e conteggio delle occorrenze, queste ultime due operazioni eseguite a cascata. Prima di addentrarci nel codice, progettiamo quello che sarà il TOPOLOGY risultante e che andremo ad implementare.

Nell'esempio proposto, lo stream in ingresso è costituito da un file txt da leggere; dunque, implementiamo uno SPOUT che legge un file di testo ed inoltra il contenuto letto ai BOLTS che effettueranno le due operazioni descritte: normalizzazione delle parole e conteggio delle occorrenze. Quindi suggeriamo di implementare due BOLTS, ognuno predisposto ad effettuare una delle elaborazione descritte. Di seguito il risultato di questa breve fase di progettazione:

Figura 8. TOPOLOGY per problema di word counting
TOPOLOGY per problema di word counting

Creazione del progetto in Eclipse

Siamo pronti per implementare la nostra soluzione utilizzando il framework Storm. Per lo sviluppo del codice è stato utilizzato Eclipse Java EE Juno. Per gestire un progetto di questo tipo, utilizzeremo il tool Maven. Dopo aver creato il progetto in Eclipse, ci troveremo
di fronte un risultato simile a quello della figura sottostante, ben noto a chi utilizza il tool Maven.

Figura 9. Il progetto di esempio in Eclipse
Il progetto di esempio in Eclipse

Grazie all'utilizzo del tool Maven, possiamo facilmente aggiungere la dipendenza del framework Storm, configurando opportunamente il file pom.xml; in particolare, ci assicureremo di impostare repository e dipendenza Storm come segue:

clojars.org
			http://clojars.org/repo
		
	
	
		
			storm
			storm
			0.8.1
			provided

Una volta configurato il file pom.xml, possiamo utilizzare il framework. Prima di tutto, creiamo 3 diversi package nella directory src/main/java:

Package Descrizione
spount Conterrà le classi che implementano gli SPOUTS.
BOLTS Conterrà le classi che implementano i BOLTS.
topologies Conterrà le classi che implementano i topologies.

L'albero progetto risultante dalla creazione dei 3 packege descritti sarà il seguente:

Figura 10. Albero progetto dei package
Albero progetto dei package

Ti consigliamo anche