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 :

[JBOSS6] Déployer un war dépendant d'un ear à l'extérieur de l'ear


Sujet :

Wildfly/JBoss Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 104
    Points : 52
    Points
    52
    Par défaut [JBOSS6] Déployer un war dépendant d'un ear à l'extérieur de l'ear
    Bonjour,

    j'essaie de déployer un war qui nécessite de faire appel à des classes présentes dans un ear. A des fins de customization je souhaite que ce war soit à l'extérieur de l'ear. Or si je fais ça, les pages et classes du war n'ont pas accès à celles de l'ear.

    J'ai essayé d'utiliser ce bout de xml dans le fichier jboss-web.xml de mon war et de mon ear :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     <class-loading java2ClassLoadingCompliance="false">
        <loader-repository>
                 com.example:archive=unique-archive-name             
        </loader-repository>
      </class-loading>
    Ceci fonctionne correctement cependant le redéploiement à chaud du war pose des problème de Linkage et jboss considère que certaines classes ont déjà été déployé, l'application en devient indisponible, sauf si on redémarre le serveur.

    J'ai aussi essayé ça sans succès (des erreurs liés aux classes internes de jboss apparaissent) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?xml version="1.0" encoding="UTF-8"?>
    <classloading xmlns="urn:jboss:classloading:1.0"
                  name="mywar.war"
                  domain="DefaultDomain"
    <!-- A hack to make this classloader a top-level classloader
         The actual value is ignored since DefaultDomain
         already exists.
    -->
                  parent-domain="Ignored"
                 export-all="NON_EMPTY"
                  import-all="true">
    </classloading>
    Savez-vous si il est possible de réaliser celà avec JBoss ?

    Blured.

  2. #2
    Membre éclairé Avatar de XmasRock
    Inscrit en
    Janvier 2007
    Messages
    729
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 729
    Points : 821
    Points
    821
    Par défaut
    Tu pourrais embarquer ta war dans ton ear et le tout en "explosé" non?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    mon.ear
    /lib
    /META-INF
    /mawebapp.war
      /classes
      /lib
      /WEB-INF

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 104
    Points : 52
    Points
    52
    Par défaut
    Le but final est de livrer un EAR (logique métier) et un WAR au client qu'il pourra customiser à sa volonté. Je ne souhaite pas qu'il aille bidouiller dans l'ear. C'est pour celà que je cherche à faire une livraison de ce type. Avec JBoss 4, ce principe fonctionnait correctement.

  4. #4
    Membre éclairé Avatar de XmasRock
    Inscrit en
    Janvier 2007
    Messages
    729
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 729
    Points : 821
    Points
    821
    Par défaut
    Tu as donc deux possibilités :
    - tu dupliques les classes utiles dans les deux packages. Il te faudra garantir la compatibilité des versions et faire des appels non optimisés (sérialisation) pour éviter les problèmes de chargement de classes

    - tu isoles les classes communes et tu les déploies dans lib (comme un pilote JDBC par exemple). Il te faudra gérer cette dépendence lors des évolutions de l'EAR ou de la WAR


    Avec JBoss AS tu peux dévier légèrement de ces deux stratégies si tu comprends bien la configuration des chargements des classes dans les différentes version que tu envisages comme conteneur.

Discussions similaires

  1. [Hudson] [Jonas] déployer des war/ear de façon générique même si non spécifié dans le pom projet
    Par inconnu652000 dans le forum Intégration Continue
    Réponses: 7
    Dernier message: 25/11/2013, 12h37
  2. déployer un war avec maven sur Tomcat
    Par publicStaticVoidMain dans le forum Maven
    Réponses: 3
    Dernier message: 20/12/2008, 22h08
  3. Gestion des permissions : meilleure solution pour déployer un war ?
    Par supermanu dans le forum Administration système
    Réponses: 0
    Dernier message: 29/07/2008, 19h15
  4. Déployer un war avec WebSphere 6
    Par Thewil dans le forum Websphere
    Réponses: 2
    Dernier message: 14/05/2007, 09h43
  5. Déployer un war sur Tomcat ?
    Par elitost dans le forum Maven
    Réponses: 9
    Dernier message: 07/10/2006, 23h55

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