OVH Cloud OVH Cloud

Tomcat et ordre d'initialisation des filtres/servlet

2 réponses
Avatar
Lionel
Bonjour,

J'ai une appli utilisant struts et hibernate qui fonctionne très bien sous
websphere.
Je voudrais la tester sur tomcat, mais je rencontre un problème d'ordre
d'initiatialisation.

1) J'utilise un plugin struts pour initialiser Hibernate et poser la
SessionFactory sur le servlet context..
2) J'ai un filtre qui pour chaque requete, ouvre une session et la pose sur
la request, ultra classique.
L'init du filtre va chercher la SessionFactory dans le servletContext.

Cela fonctionne très bien sous webphere: struts est initialisé, lors de la
1ere requete correspondant au mapping du filtre, je passe dans l'init du
filtre et tout est fonctionne comme prévu.

Avec tomcat, l'init du filter est appelé dès le début, juste avant
l'initialisation de struts, et ma factory n'a donc pas encore été posée sur
le contexte. Donc mon filtre ne fonctionne pas...
Est-ce normal ?
J'ai bien positionné l'ActionServlet de struts en
<load-on-startup>1</load-on-startup>

Quel est le bon comportement: celui de tomcat ou celui de webphere ?

Comment faire pour que cela fonctionne avec tomcat ?
Y a-til un paramètre à ajouter ?


Merci.

2 réponses

Avatar
Franck
Lionel a exprimé avec précision :
Bonjour,

Bah, pourquoi ne fais-tu pas la création des factories dans l'init de

ton filtre ?
Et hop plus besoin du plugin struts

@+

Merci.


--
mailto:
E2 ici : http://www.cnbt-cdpn.org

Avatar
Lionel
Franck wrote:
Bah, pourquoi ne fais-tu pas la création des factories dans l'init de
ton filtre ?


Je n'ai pas eu de problème pour modifier le code et le faire fonctionner.
Je suis juste surpris de voir une telle différence de fonctionnement entre
WAS et Tomcat et voulais juste savoir si l'init d'un filtre devait selon les
spec J2EE se faire au démarrage de l'application ou lors du 1er appel.
Apparemment le choix est laissé libre.