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

Wildfly/JBoss Java Discussion :

Forcer le chargement d'une lib du war plutot que celle de Jboss 5.1


Sujet :

Wildfly/JBoss Java

  1. #1
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut Forcer le chargement d'une lib du war plutot que celle de Jboss 5.1
    Bonjour tout le monde,

    J'ai une application qui tourne bien sous tomcat 5, il m'a été demandé de la migrer sous Jboss 5.1. Seulement dans mon application je chargeais certains fichiers xml contenus dans des jars et cela marchait bien sous tomcat, pour cela j'utilisais la lib jboss-vfs-3.0.1.jar. Seulement sous jboss 5.1 , il y'a une version moins récente (jboss-vfs-2.1.2.jar) qui est préchargée au demarrage de Jboss, d'où le plantage applicatif. Alors ma question c'est de savoir si quelqu'un a déjà été confronté à ce problème et comment il l'a résolu. Je pense être sur la piste en utilisant le fichier (jboss-classloading.xml):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <classloading xmlns="urn:jboss:classloading:1.0"
      name="monappli.war"
      domain="monappli.war"
      export-all="NON_EMPTY"
      import-all="true"
      parent-first="false">
    </classloading>
    Seulement je ne connais pas la syntaxe pour mieux exprimer.
    Voici le bout de code qui plante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     if (listOfFiles.isEmpty()) {
                /**
                 * Utilisation de VFS pour rechercher les fichiers de mapping Dozer.
                 */
                logger.info("No files found at path " + path + " Trying with VFS.");
    
                try {
                    final Enumeration<URL> urlsVFS = clazz.getClassLoader().getResources(path);
                    while (urlsVFS.hasMoreElements()) {
                        final URI uri = urlsVFS.nextElement().toURI();
                        final VirtualFile vf = VFS.getChild(uri);
                        if (vf.isDirectory()) {
                            final List<VirtualFile> vFiles = vf.getChildren();
                            for (final VirtualFile vFile : vFiles) {
                                final File pFile = vFile.getPhysicalFile();
                                listOfFiles.add(pFile);
                            }
                            if (vFiles.isEmpty()) {
                                logger.warn("No files found using VFS at " + uri.getPath() + ".");
                            }
                        } 
                    }
                } catch (final URISyntaxException e) {
                    logger.error("Unexpected URISyntaxError==>" + e.getMessage());
                } 
            }
    La ligne en rouge renvoie une collection vide pourtant j'ai bien des fichiers xml dans cette arborescence.
    J'espère m'être fait comprendre

    Merci par avance de vos lumières.
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  2. #2
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 178
    Points : 274
    Points
    274
    Par défaut
    On t'a dit que JBoss AS/EAP 5 n'est pas maintenu ?
    Sinon essaye de changer la lib de vfs (peut etre de ne pas fournir la tienne ?)

  3. #3
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Bonjour,

    Merci pour ce retour.
    J'ai éssayé les 2 methodes
    -Ne pas embarquer ma lib (jboss-vfs-3.1.0.jar) , plantage car j'ai celle utilisée par Jboss est moins récente et donc ne contient pas certaines classes sollicitées dans mon war
    -En remplacant celle de Jboss, le serveur ne demarre pas du tout.

    Donc je reste bloqué au même point.

    Une autre idée ?
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  4. #4
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 178
    Points : 274
    Points
    274
    Par défaut
    Connais tu la liste des resources à charger ? Si tu passes par un stream ca pourrait le faire.
    Après tu peux aussi essayer la version 2.1.4.GA avec un peu de chance tu auras un fix.

  5. #5
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Tu veux dire embarquer la version jboss-vfs-2.1.4.GA dans mon war c'est ça ?
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  6. #6
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 178
    Points : 274
    Points
    274
    Par défaut
    Non en fait je pensais que tu pourrais revenir avec ton war à cette version. Je ne sais pas bien comment fonctionne la classloading de JBoss 5 (notamment sur l'isolation que tu as entre ton application et les libs de JBoss comme VFS). Peux tu verifier quel est le classloader de VFS et de ton VirtualFile dans ton code?

  7. #7
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Non non j'ai pas pu revenir sur l'ancienne version depuis mon war car il y'a trop de nouvelles classes que je sollicite dans le jar plus récent .
    Je bloque aussi sur le paramétrage du fichier jboss-classloading.xml
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  8. #8
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 178
    Points : 274
    Points
    274
    Par défaut
    A quoi te sert le import-all="true" ? Pour moi il n'est pas utile car c'est pour charger les classes d'autres applications.
    Moi je pense qu'il faut le mettre à false mais j'ai peur que ca casse pas mal de trucs et que tu doives ajouter des imports à la main

  9. #9
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Je viens de le mettre à false, rien n'y change
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  10. #10
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 178
    Points : 274
    Points
    274
    Par défaut
    Franchement je n'ai pas trop d'idée à part passer sur une version plus récente de JBoss/WildFly (ce qui n'est pas forcément un mal au vu des failles de sécurité d'AS 5 qui n'est plus maintenu depuis belle lurette).

Discussions similaires

  1. Réponses: 10
    Dernier message: 03/05/2011, 13h24
  2. Réponses: 6
    Dernier message: 07/09/2007, 13h56
  3. Réponses: 8
    Dernier message: 13/07/2007, 17h06
  4. Chargement d'une lib partagée C++ dans un programme C
    Par Zero dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 30/09/2003, 16h40

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