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.