Comment concevoir des notifications push à l'aide de l'Atmosphère
Je veux utiliser atmosphère de développer un Système de notification.
Je suis très nouveau dans l'Atmosphère, alors, toutes mes excuses si je me trompe quelque part.
Ce que j'ai compris, c'est quand un Acteur publie quelque chose que j'ai enregistrer l'action de notification à la base de données.
Ce que je ne comprends pas comment le récepteur va recevoir ces notifications en temps réel.
L'expéditeur je sais va faire quelque chose comme suit
event.getBroadcaster().broadcast(
objectMapper.writeValueAsString("Some Message"));
Maintenant, je ne suis pas en mesure de comprendre comment le récepteur peut recevoir ce message.
Par exemple . Je veux ajouter un Objet Utilisateur en tant qu'Ami. Ainsi, lorsque l'utilisateur User1 ajoute User1 User2 émission, mais que la façon dont je l'ai pousser la notification à l'Utilisateur2. J'ai de la difficulté à le comprendre.
Techniquement je veux quelque chose de similaire comme facebook ou gmail notification où sur l'activité de l'utilisateur d'autres utilisateurs de recevoir des notifications.
- vous pouvez utiliser de l'Atmosphère BroadcasterFactory. jfarcand.wordpress.com/2010/06/18/...
Vous devez vous connecter pour publier un commentaire.
Fondamentalement, ce que vous avez besoin est de mettre en œuvre Publish-subscribe sur le dessus de l'Atmosphère.
Atmosphère se compose de deux parties: côté client (javascript) et côté serveur(java).
Tout d'abord, vous devez configurer le serveur-côté: L'Installation De L'Atmosphère
À savoir servlet ou de filtre, il est nécessaire de sorte qu'il pourrait ajouter AtmosphereResource à la HttpServletRequest.
AtmosphereResource représente un unique de connexion du client sur le serveur-côté.
Diffuseur est en fait un conteneur pour ces ressources, de sorte que vous n'avez pas besoin de gérer de recherche/itération/simultanéité lorsque vous avez besoin d'envoyer de multiples connexions. (À noter que plusieurs connexions peuvent être produites par un seul client).
Sur le côté serveur, vous devez fournir à ses clients un point de terminaison de s'abonner aux notifications.
Par exemple, si vous utilisez Spring-MVC, il pourrait aller comme ça (en omettant les validations/authentifications, etc.):
Quand quelque chose se produit, vous pouvez informer les clients comme ceci:
Sur le côté client, vous devez envoyer une demande de s'abonner et d'écouter pour la suite des événements, comme ceci:
Donc, pour résumer:
Ce wiki a des explications pour certains concepts de base de l'Atmosphère et des liens vers d'autres documents.
Atmosphère prend en charge WebSocket.
Si vous voulez écrire un client java, vous pouvez essayer de https://github.com/TooTallNate/Java-WebSocket
Voir l'article de la Rédaction de votre propre Client WebSocket