2010-10-28 6 views
7

Sto costruendo un sito Web della comunità utilizzando Grails e voglio implementare le notifiche degli utenti esattamente come stackoverflow.com. Ad esempio, l'utente riceverà una notifica per nuovi eventi ("Hai nuovi commenti", "uno dei tuoi preferiti è cambiato" ...) sia via email che nella sua casella di posta ogni volta che ritorna al sito web.La migliore architettura di soluzione per le notifiche degli utenti nell'ambiente Java/Grails?

Suppongo che questo è un problema comune e mi piacerebbe sentire cosa facile soluzione si fa consulenza per l'attuazione del back-end in Grails regno. Ad esempio, è Java Message Service una soluzione consigliata per questo?

Grazie.

+1

Definire "soluzione facile". –

risposta

4

IMHO n. Java Message Service è fondamentalmente per eseguire operazioni asincrone o in coda.

Hai solo bisogno di un sistema di messaggistica utente e di una notifica. Non sono a conoscenza di alcun plugin che potrebbe farlo fuori dalla scatola.

Ti suggerisco di implementare il tuo dominio dei messaggi POGO associato al tuo modello utente con un contrassegno markAsRead.

Se si desidera integrare questo con e-mail, è possibile utilizzare JMS per disaccoppiare la navigazione dell'utente e l'e-mail/l'invio. Ciò è particolarmente utile se si dispone di un sito Web/webapp ad alto traffico

+2

Non direi che JMS non è assolutamente la strada da percorrere. Se la base di utenti è significativa, avere la tua app in attesa di inviare email a molti utenti non è una buona idea. Potrebbe essere meglio scaricare le notifiche in una coda e lasciare che la coda fornisca un servizio in grado di gestirle per te. Ma puoi iniziare in modo semplice, come suggerito da Sammy, e quindi implementare JMS in seguito, molto facilmente. Soprattutto se inizi a spingere il lavoro a un livello di servizio. – Gregg

+0

Accetto. Ma penso che fabien7474 sia stato fuorviato dal mondo "Message" in JMS assumendo che si trattasse di una tecnologia di gestione della messaggistica utente/email – Sammyrulez

+0

Questa è la soluzione che ho scelto. Grazie. – fabien7474

Problemi correlati