2010-10-28 3 views
7

Estoy construyendo un sitio web de la comunidad usando Grails y quiero implementar notificaciones de usuario exactamente como stackoverflow.com. Por ejemplo, el usuario será notificado de nuevos eventos ('Usted tiene nuevos comentarios', 'uno de sus favoritos ha cambiado' ...) ya sea por correo electrónico o en su buzón cada vez que regrese al sitio web.¿La mejor arquitectura de solución para notificaciones de usuario en entorno Java/Grails?

Supongo que este es un problema común y me gustaría escuchar lo que solución fácil le aconsejamos para implementar el back-end en el reino de Grails. Por ejemplo, ¿es Java Message Service una solución recomendada para esto?

Gracias.

+1

definir la "solución fácil". –

Respuesta

4

EN MI NO. Java Message Service es básicamente para realizar operaciones asíncronas o en cola.

Solo necesita un sistema de mensajes de usuario y una notificación. No estoy al tanto de ningún complemento que pueda hacerlo de la caja.

Le sugiero que implemente su propio dominio de mensajes POGO vinculado a su modelo de usuario con un indicador markAsRead.

Si desea integrar esto con el correo electrónico, puede utilizar JMS para desacoplar la navegación del usuario y el correo electrónico/envío. Esto es particularmente útil si tiene un sitio web de alto tráfico/webapp

+2

No diría que JMS definitivamente no es el camino a seguir. Si su base de usuarios va a ser importante, hacer que su aplicación espere correos electrónicos para enviar a muchos usuarios no es una buena idea. Podría ser mejor descargar las notificaciones a una cola y dejar que la cola alimente un servicio que pueda manejarlo por usted. Pero puede comenzar de manera simple, como sugirió Sammy, y luego implementar JMS más tarde, muy fácilmente. Especialmente si comienzas empujando el trabajo a un nivel de servicio. – Gregg

+0

De acuerdo. Pero creo que fabien7474 fue engañado por el 'Mensaje' mundial en JMS asumiendo que era una tecnología de administración de mensajería de usuario/correo electrónico. – Sammyrulez

+0

Esta es la solución que he elegido. Gracias. – fabien7474

Cuestiones relacionadas