Question

J'appelle un bean session à distance sans état d'une application J2SE et que vous souhaitez mettre en cache la référence à la fève de session afin de réduire le coût de la recherche. Est-ce correct?

Dans EJB2 le modèle de ServiceLocator a été couramment utilisé pour les recherches en mémoire à des ressources distantes, mais EJB3 ne pas avoir à la maison EJB séparée (qui sont généralement mis en cache) et les objets à distance.

googler autour, une réponse commune à cette question est d'utiliser l'injection EJB3, mais depuis que je fais un appel à un serveur distant EJB à partir d'un client J2SE, je ne peux pas utiliser l'injection.

Était-ce utile?

La solution

Oui, ils peuvent être mis en mémoire cache. Mais je ne sais pas si le comportement est défini ce qui se passera si vous avez une référence mises en cache et le serveur est redémarré en dessous. Vous pouvez tester ce scénario, mais le comportement peut varier avec le conteneur.

Autres conseils

Si le serveur va, vos références deviennent invalides.

En ce qui concerne la mise en cache au cours du cycle de vie normal, cela devrait être bien. Je l'ai fait pendant des années, à la fois dans EJB2 et EJB3, et n'a jamais eu un problème. En général, j'ai juste une classe statique « LookupServices » qui ressemble à la maison, ou retourne l'existant si elle est déjà là -. Et le stocke dans une carte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top