Charge printemps contexte dans une application à base d'EJB
Voici la situation :
J'ai une couche de gestion, qui est un EJB projet. En fait, il y a seulement un EJB qui est créé. Cet EJB est chargé d'exposer les classes de service à d'autres couches, qui appelle l'EJB. Je tiens à présenter printemps (DI) dans cette couche.
Ma préoccupation est, quelle est la meilleure façon de charger le ressort du contexte dans cette couche, de sorte que le printemps contexte n'est pas chargé, encore et encore, chaque fois que l'EJB est appelé ?
(Dans un projet Web, il ya un avantage plutôt pour configurer le printemps contexte dans contextLoaderListener, et il est chargé qu'une seule fois lorsque l'application se met en marche)
J'ai pensé y compris de printemps dans la même couche, parce que :
- Configurer les dépendances de toutes les DAO et les classes de service et de les injecter partout où c'est nécessaire.
- À utiliser le printemps de soutien pour la mise en veille prolongée dans la couche de gestion.
- Facilité de tests Unitaires, par l'injection de la propriétés dans les classes et en simulant les mêmes. N'avez pas besoin d'exécuter les autres couches, encore et encore, pour tester mes affaires classes/méthodes.
- Pour être en mesure d'utiliser l'AOP (Aspect Oriented Programming) pour l'enregistrement et au niveau de la méthode de l'audit.
De bien vouloir m'aider en suggérant la meilleure façon, pour charger le ressort du contexte dans un EJB projet. Je veux aussi savoir , si il y a des solutions de rechange si je peux charger le même dans le serveur d'application (je suis Web à l'aide de la sphère serveur d'application).
Merci et Salutations,
Jitendriya Dash
OriginalL'auteur dash27 | 2011-10-25
Vous devez vous connecter pour publier un commentaire.
Printemps doit être configuré dans le cadre de votre demande de la manière habituelle que vous avez toujours le configurer. Ensuite, vous devez accéder au Printemps, les haricots de l'EJB de la couche. D'accès (adapté à partir de ce post), créer un Ressort de haricots comme suit:
Puis, à l'appel de la fève à la question de l'héritage de l'app:
Le Printemps contexte est initialisée une fois, et votre EJB de la couche peut accéder à volonté.
OriginalL'auteur atrain
Pour EJB3, Spring recommande l'utilisation de la EJB3 Injection de l'Intercepteur. Fondamentalement, vous indiquez votre Printemps contexte à l'aide d'un ContextSingletonBeanFactoryLocator qui implique la création de votre Printemps dans un contexte beanContextRef.xml dans votre classpath. Probablement dans le cadre de votre OREILLE. Le SpringBeanAutowiringInterceptor injecte votre fève dans votre EJB.
OriginalL'auteur Bill Poitras
Marquage de l'EJB été comme un Singleton (
@Singleton
). Et le stockage du printemps contexte d'une variable dans ce bean, après il est créé une seule fois, de sorte que vous pouvez retourner le même contexte, encore et encore.OriginalL'auteur Ralph