Bonjour à tous,
Je développe actuellement un WS permettant de synchroniser des fichiers XML sur des clients android.
Pour cela, je vérifie coté serveur que les messages que le client m'envoient sont bien enregistrer sur le serveur, et vise versa.
Coté serveur, comme je n'utilise pas de BDD pour la persistance, je stocke les messages XML dans une arborescence de fichier.
Pour éviter de parser les dossiers et les fichiers à chaque appel de méthode du web service, je tiens à jour une HashMap contenant les id des messages / chemin d'accès.
Mes questions, j'espère pas trop débiles, sont les suivantes:
- Pour éviter de parser sans cesse mes fichiers, j'ai initialisé ma hashmap (qui parse mes fichiers) dans le constructeur de mon WS, et ensuite je ne me sert que de ma hashmap pour vérifier la présence ou non de message xml.
-> A quel moment, le constructeur est appelé ? Est-ce quand un client invoque mon WS, quand je déploie mon serveur... Est-ce la bonne méthode pour initialiser mes attributs ?
-> J'aimerai que ma hashmap reste à jour même si plusieurs clients invoquent mes méthodes. Mais comment faire, n'y a t-il pas plusieurs sessions qui se créées ? Ou, peut-on fonctionner qu'avec une session ? Du coup cela soulèvera des problèmes des concurrences / performances non ?
Merci pour vos réponses.
Pour info, coté serveur j'utilise tomcat8 / axis2-1.6.3 et je test avec SOAPUI.
Boulz
Partager