Je dois implémenter un pool de sessions renvoyées par un système externe, afin que je puisse les réutiliser rapidement dès que nécessaire (la création d'une session prend du temps). J'ai travaillé avec datasource pour créer un pool de connexions à une base de données (DBCP d'Apache), et c'était une solution implémentée. Qu'est-ce que nous utilisons dans un cas général pour regrouper des objets arbitraires, et y a-t-il des solutions implémentées, c'est-à-dire des objets, pas des interfaces, pour faire face à la tâche douloureusement?Mise en pool d'objets: howto
La deuxième question serait, comment pouvons-nous tester si la session est en vie? Existe-t-il une méthode spécifique que nous remplaçons dans le pool d'objets, qui interroge les propres méthodes de la session?
La troisième question, TRÈS IMPORTANTE, serait, si l'objet de regroupement d'objets était statique? Un ensemble d'objets que j'extrais du système doit être partagé entre différentes applications Web. Donc, disons, nous extrayons 5 sessions. App A interroge le POOL et obtient la première session disponible. Maintenant, il reste 4 sessions. Une autre application B démarre et interroge THE MEME POOL. etc La piscine est partagée. Parmi les différentes instances de la même application Web, s'exécutant sur la même machine.
Si vous êtes déjà familier avec Commons DBCP, cela est basé sur Commons Pool, qui est une bibliothèque de regroupement d'objets à usage général. – skaffman
@skaffman Cela peut être, mais ici, je ne vois que quelques implémentations qui ne font rien http://commons.apache.org/pool/apidocs/org/apache/commons/pool/package-summary.html Cela ne suffit pas pour obtenir ça a marché. Y a-t-il quelque chose de plus spécifique? – EugeneP
Vous devez étendre 'BaseObjectPool', ce qui est assez facile.Vous devez faire un peu de travail ... – skaffman