IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tomcat et TomEE Java Discussion :

Nombreux contextes pour une même webapp


Sujet :

Tomcat et TomEE Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 8
    Points : 9
    Points
    9
    Par défaut Nombreux contextes pour une même webapp
    Salut à tous,

    J'ai une application à déployer sous Tomcat/5.0.28 pour plusieurs clients.

    On m'impose d'avoir des urls de la forme :

    www.monsite.com/client1
    www.monsite.com/client2
    ...etc

    (le nombre de clients peut aller au delà de 200 !)

    qui doivent tous attaquer la même webapp.

    La 1ère idée qui vient à l'esprit est de créer autant de contextes dans le server.xml que de clients pour un même host, tous ces contextes pointant vers le même war, ce qui donne par exemple :

    <Context path="/client1" docBase="monPath\appli.war">
    ...
    </Context>
    <Context path="/client2" docBase="monPath\appli.war">
    ...
    </Context>
    ...etc.

    Malheureusement, au démarrage, Tomcat va dézipper dans son répertoire webapps 200 fois le contenu du fichier appli.war dans 200 répertoires nommés client1, client2, etc. (ce qui parait complètement stupide puisque chaque répertoire contiendra exactement les mêmes fichiers)
    Qui plus est, il va faire la même chose dans son dossier work pour compiler les jsp et autres.

    Autant vous dire que Tomcat ne se lance même pas : OutOfMemory au bout de 37 contextes déployés sous Linux (pourtant la machine est pas si mal, 1 Giga de ram et un bon processeur, c'est une machine de test bien sûr).

    Avez-vous une idée pour éviter cette duplication inutile et n'avoir véritablement qu'une seule appli déployée dans les répertoires webapps et work tout en conservant les urls décrites au début ?

    Que pensez-vous de ne créer qu'un seul context root (path vide) :

    <Context path="" docBase="monPath\appli.war">
    ...
    </Context>

    et de créer autant de répertoires clientXX que de clients à la racine de ma webapp avec dans chacun un fichier index.jsp par exemple (qui serait défini dans le <welcome-file-list> de mon web.xml) qui redirigerait vers une page d'accueil globale en passant en paramètre le nom du client récupéré dans l'URL.
    (sachant qu'à partir de la redirection, je perds la partie "nom du client" dans la barre d'adresse, ce qui me gêne un peu).


    Si vous avez d'autres idées ou des critiques/suggestions sur cette 2ème solution, merci d'avance pour votre réponse !

    Lôlö

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2005
    Messages : 22
    Points : 25
    Points
    25
    Par défaut
    Je ne suis pas sûr d'avoir bien compris mais il me semble que la solution à ton problème se trouve dans l'utilisation des Virtual Host (1 par client qui pointe vers la même webapp)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <Host name="www.monsite.com/client1" appBase="/home/unewebapp">
       <Context path="" docBase="."/>
    </Host>
     
    <Host name="www.monsite.com/client2" appBase="/home/unewebapp">
       <Context path="" docBase="."/>
    </Host>
     |
     |
     |
    <Host name="www.monsite.com/clientn" appBase="/home/unewebapp">
       <Context path="" docBase="."/>
    </Host>

Discussions similaires

  1. Formules multiples pour une même cellule
    Par nenkira dans le forum Excel
    Réponses: 2
    Dernier message: 05/04/2007, 13h29
  2. Réponses: 5
    Dernier message: 30/01/2007, 13h23
  3. [POO] Deux constructeurs pour une même classe
    Par amika dans le forum Langage
    Réponses: 4
    Dernier message: 16/12/2006, 16h31
  4. Réponses: 15
    Dernier message: 19/06/2006, 19h25
  5. Icone différente pour une même extention ?!
    Par NicolasJolet dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 09/03/2006, 10h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo