Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

3.7. Chargement de classe et sous-déploiements

3.7.1. Chargement de classes et de modules dans les EAR (Archives Enterprise)

Les EAR (Archives Enterprise) ne sont pas chargées sous forme d'un simple module à la manière des déploiements JAR ou WAR. Ils sont chargés sous forme d'une multitude de modules uniques.
Les règles suivantes déterminent quels modules existent dans un EAR.
  • Chaque sous-déploiement WAR ou EJB JAR est un module.
  • Le contenu du répertoire lib/ de la racine de l'archive EAR est un module. On l'appelle un module parent.
Ces modules possèdent le même comportement que tout autre module ayant les dépendances implicites suivantes :
  • Les sous-déploiements WAR possédent des dépendances implicites sur le module parent et sur tout sous-déploiement JAR EJB.
  • Les sous-déploiements EJB JAR possédent des dépendances implicites sur le module parent et sur tout sous-déploiement JAR EJB.

Important

Aucun sous-déploiement ne gagne une dépendance implicite sur un sous-déploiement WAR. Tout sous-déploiement peut être configuré avec des dépendances explicites sur un autre sous-déploiement comme dans n'importe quel autre module.
Les dépendances implicites décrites ci-dessus ont lieu car JBoss EAP 6 a l'isolement de chargeur de classe de sous-déploiement désactivé par défaut.
Tout isolement de chargeur de classe de sous-déploiement peut être activé si une stricte compatibilité est nécessaire. Ceci peut être activé pour un simple déploiement EAR ou pour tous les déploiements EAR. La spécification Java EE 6 recommande que les applications portables ne reposent pas sur des sous-déploiements pouvant accéder les uns aux autres, à moins que les dépendances soient explicitement déclarées comme entrées Class-Path dans le fichier MANIFEST.MF de chaque sous-déploiement.