Facebook servlet traitement long
J'implémente la gestion de la souscription des données auprès de Facebook pour mon application.
Cela consiste à recevoir des notifications sur les changements des données des utilisateurs de notre application. Uniquement les champs que l'on a spécifié lors de la souscription.
Si un utilisateur change son image de profil , on reçoit une requête Http POST à l'url que l'on a spécifié. Cela évite ainsi qu'à chaque connexion d'un utilisateur d'être obligé de contacter les serveurs Facebook et obtenir le profil de l'utilisateur alors qu'il n'a pas forcement changé.
Facebook indique qu'il peut envoyé jusqu'à 1000 changements à la fois et que le serveur doit être capable de supporter un tel niveau de charge. Si une notification de changement envoyée au serveur échoue, il va la renvoyer en réduisant la fréquence.
J'ai implémenté une servlet qui récupère le contenu de la requête post dans la méthode doPost(), et traite le JSON-encoded reçu, jusque là pas de soucis.
Maintenant j'ai besoin de contacter les serveurs facebook (graph api) et de récupérer les données qui ont changé cela peut demander de nombreuses requêtes à envoyer , puis les traiter une fois reçu et enfin les envoyer au service qui gère ma base de données orienté objet.
Bon alors maintenant ma question :P :
Comme les traitements risque d'être long dans certain cas , es qu'une fois que j'ai récupérer le JSOn , es que je peux faire tout mon traitement dans le doPost(), ou alors es que je dois déléguer ce travaille à une autre servlet ?
Dans ce cas la comment fait-on ?
Et comment le serveur facebook peut savoir que la requête a échoué ou pas ?
Il est prévenu quand la methode doPost() se termine ou alors faut envoyer un code avec HttpServletResponse , il n'y a rien d'indiqué dans la doc à ce sujet.
J'utilise jamais de Servlet donc je suis un peu perdu :oops: