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 :

Désactiver/Réactiver un tomcat sur un load balancer apache


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2009
    Messages : 46
    Points : 45
    Points
    45
    Par défaut Désactiver/Réactiver un tomcat sur un load balancer apache
    J'utilise un load balancer Apache mod_jk pour répartir la charge sur différents Tomcat. Je voudrais pouvoir désactiver un des serveur Tomcat et le réactiver par la suite. Plus précisément, je voudrais, depuis une classe java, obliger le load balancer à ignorer momentanément un des serveurs tomcat et donc ne pas lui envoyer de requête.

    Si quelqu'un avait une solution ce serait sympa.

    PS: même avec un load balancer Apache en mode proxy.

  2. #2
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    As-tu regardé du coté du status worker : http://tomcat.apache.org/connectors-...ce/status.html ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2009
    Messages : 46
    Points : 45
    Points
    45
    Par défaut
    Merci, je vais tester avec ça.

  4. #4
    Membre habitué Avatar de zolive
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 152
    Points : 137
    Points
    137
    Par défaut
    regarde egalement du coté du projet Jasmine sur OW2
    Je pense que tu auras là ta solution et même au dela

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2009
    Messages : 46
    Points : 45
    Points
    45
    Par défaut
    J'ai regardé du coté de Jasmine et ce n'est pas vraiment ce que je cherche. C'est un outils d'administration alors que je cherche une API java qui me permet d'accéder à la configuration tomcat pour la modifier.

    Le status worker est en partie ce que je recherche. Il me permet en effet de désactiver un noeud du cluster et de le relancer ultérieurement. Maintenant ce qu'il me manque, c'est savoir comment intéragir avec cette conf depuis une classe Java et non depuis l'interface du status worker.

    J'ai regardé du coté de JMX mais ça me parait complexe, je ne comprend pas bien comment je peux me connecter aux MBean de tomcat. De plus je ne sais pas si un tel MBean existe. Enfin tout me parait un peu flou.

    Si quelqu'un pouvait éclairer ma lanterne...

  6. #6
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    Regarde ce que le status worker produit comme requête http et fais la même en java, avec HttpClient.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2009
    Messages : 46
    Points : 45
    Points
    45
    Par défaut
    C'est une solution mais le problème est que l'URL n'est pas aisément paramétrable. Le nom de l'élément HTML me permettant de modifier l'activation d'un noeud n'est pas le nom du worker mais val0, val1, val2... dans l'ordre où ils sont déclarés ou dans l'ordre alphabétique peut être.
    Je vais plutôt m'orienter vers une solution JMX pour modifier le port de mon connecteur AJP et donc le rendre indisponible. Cette fonction JMX pourra être appelé sur le connecteur HTTP et c'est l'appli elle même qui se sortira du cluster. De la même façon je la ferait revenir. De cette manière je n'ai pas besoin d'ajouter de paramètre à mon appli comme le nom du worker et/ou le nom de l'élément html. Mais je ne sais pas bien comment créer un client JMX sur Tomcat. Je poursuis mes recherches...

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2009
    Messages : 46
    Points : 45
    Points
    45
    Par défaut
    Bon j'ai trouvé la solution. Il faut passer par le manager tomcat. En activant celui on peut alors accéder à jmxproxy qui est une de ses fonctionnalités. Il faut ensuite attaquer cet URL avec une requète JMXProxy en http.

  9. #9
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    Cool, est-ce que tu peux partager la requête qui fonctionne ?
    Merci

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2009
    Messages : 46
    Points : 45
    Points
    45
    Par défaut
    La requète est :

    http://localhost:8080/manager/jmxpro...tPort&val=8010

    Pour consulter le résultat c'est

    http://localhost:8080/manager/jmxpro...ctor,port=8009

    Par contre je me suis peut être un peut trop avancé. Mon répartiteur apache envoi toujours les requètes vers ce connecteur. Je ne comprend pas.

  11. #11
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    Je dois dire que j'ai du mal à comprendre l'intérêt de ta requête jmxproxy. Elle modifie juste le port de redirection pour application confidentielle.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2009
    Messages : 46
    Points : 45
    Points
    45
    Par défaut
    Oui effectivement mais j'ai essayé précédemment de modifier le port et ça ne fonctionne pas non plus.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2009
    Messages : 46
    Points : 45
    Points
    45
    Par défaut
    Je reviens sur ce topic pour annoncer que ce n'est pas possible d'orchestrer le répartiteur Apache. Peut être dans de prochaines versions....??

Discussions similaires

  1. Clustering/load balancer Apache/tomcat en HTTPS
    Par cyclopsnet dans le forum Apache
    Réponses: 2
    Dernier message: 21/10/2013, 11h20
  2. Réponses: 9
    Dernier message: 09/12/2011, 16h01
  3. question sur load balancing apache/tomcat
    Par PaladinFr dans le forum Apache
    Réponses: 2
    Dernier message: 25/03/2011, 15h32
  4. Réponses: 3
    Dernier message: 03/07/2009, 12h09
  5. besoin d'infos sur le load balancing
    Par decksroy dans le forum Wildfly/JBoss
    Réponses: 3
    Dernier message: 31/01/2007, 15h57

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