J'essaie d'utiliser XStream pour diffuser des objets entre deux processus (qui sont essentiellement des machines virtuelles Java). J'ai trouvé qu'une question similaire était posée sur ce forum auparavant (veuillez vous référer au lien suivant).Utilisation de XStream pour diffuser un nombre inconnu (potentiellement très grand) d'objets Java
Best approach to serialize XML to stream with Java?
La différence fondamentale entre mon exigence et la solution dans la question ci-dessus est que les tous les objets transmis en ligne ne sont pas disponibles au début de l'opération en continu. Je veux que le processus d'envoi attende de nouveaux objets et les transmette au fur et à mesure qu'ils arrivent. Cette opération peut donc prendre beaucoup de temps (avec beaucoup de temps d'inactivité entre le streaming de deux objets).
D'autre part dans la solution donnée ci-dessus fonctionne très bien si nous connaissons tous les éléments de collection au début.
S'il vous plaît laissez-moi savoir si quelqu'un a rencontré une telle exigence avant et capable de le résoudre.
Merci pour votre réponse. Ce problème est maintenant résolu. J'ai utilisé le pilote StAX pour XStream du côté client et je me suis assuré que le serveur envoie le prologue du document XML immédiatement (et n'attend pas que les événements réels se produisent). – hsg
Si vous utilisez toujours une connexion longue durée, assurez-vous simplement que vous savez ce qui se passera s'il y a un hiccup réseau/connexion et que les données de streaming sont interrompues. Je suspecte que le conducteur de StAX ne sera pas heureux. – jtoberon
Oh oui. Je cache le dernier identifiant d'objet vu du côté client. Donc, en cas d'échec réseau/connexion, il se reconnecte simplement au serveur et envoie le dernier identifiant d'objet vu. Le serveur répondrait alors en transmettant les objets restants après celui vu par le client. – hsg