Existe-t-il un moyen généralement accepté de renvoyer une grande liste d'objets à l'aide de Java EE? Par exemple, si vous aviez une base de données ResultSet contenant des millions d'objets, comment les renvoyer à une application cliente (distante)? Un autre exemple - plus proche de ce que je fais actuellement - consisterait à agréger des données de centaines de sources, à les normaliser et à les transférer de façon incrémentielle vers un système client sous la forme d'une seule «liste».Récupération de grandes listes d'objets à l'aide de Java EE
Étant donné que toutes les données ne peuvent pas tenir dans la mémoire, je pensais qu'une combinaison d'un SessionBean avec état et d'un type d'Iterator personnalisé rappelant le serveur ferait l'affaire. En d'autres termes, si j'ai une API comme Iterator<Data> getData()
, alors quelle est une bonne façon de mettre en œuvre getData()
et Iterator<Data>
?
Comment avez-vous résolu ce problème par le passé?
Merci pour la réponse. La base de données était juste un exemple. Je n'utilise pas de base de données et les informations ne sont pas affichées pour un utilisateur. J'agrège des données provenant d'un grand nombre de sources et je les transfère à une autre application. – hallidave
Ensuite, je le ferais par entrée. Traiter/envoyer immédiatement la seule entrée de l'entrée à la sortie sans tenir l'entrée complète dans la mémoire de Java. – BalusC
Alors à quoi ressemblerait la mise en œuvre? Je pensais que l'API serait "Iterator getData()", mais n'était pas sûr de la meilleure façon d'implémenter l'Iterator. Il semble que vous parlez d'une solution basée sur un message? – hallidave