1.2.2. Les modules et le système de chargement de la nouvelle classe modulaire de JBoss EAP 6.
1.2.2.1. Modules Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Un module est un regroupement logique des classes utilisées pour le chargement de classes et pour la gestion des dépendances. JBoss EAP 6 identifie deux types de modules, parfois appelés modules statiques et dynamiques. Cependant, la seule différence entre les deux est la façon dont ils sont empaquetés. Tous les modules offrent les mêmes caractéristiques.
- Modules statiques
- Les modules statiques sont prédéfinis dans le répertoire
EAP_HOME/modules/
du serveur d'applications. Chaque sous-répertoire représente un module et contient un fichier de configuration (module.xml
) et tout fichier JAR requis. Le nom du module est défini dans le fichiermodule.xml
. Tous les API fournis par le serveur de l'application sont des modules statiques, y compris les API Java EE, et les autres API comme JBoss Logging.Exemple 1.1. Exemple de fichier module.xml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Le nom du module,com.mysql
, doit correspondre à la structure du répertoire du module.Les modules fournis dans les distributions JBoss EAP se trouvent dans un répertoiresystem
se trouvant lui-même dans le répertoireJBOSS_HOME/modules
. Cela les rend séparés de tout module fourni par une tierce partie.Tout produit mis en couche de Red Hat, se superposant sur JBoss EAP 6.1 ou version supérieure installera également leurs modules dans le répertoiresystem
.La création de modules statiques personnalisés peut être utile si plusieurs applications sont déployées sur un même serveur utilisant les mêmes bibliothèques de tierce partie. Au lieu d'un regroupement de ces bibliothèques pour chaque application, un module contenant ces bibliothèques peut être créé et installé par l'administrateur JBoss. Les applications peuvent ensuite déclarer une dépendance explicite sur les modules statiques personnalisés.Les utilisateurs doivent s'assurer que les modules personnalisés soient installés dans le répertoireJBOSS_HOME/modules
, en utilisant un répertoire par couche de modules. Cela garantit que les versions personnalisées de modules qui existent déjà dans le répertoiresystem
soient bien chargées à la place des versions fournies. Ainsi, les modules utilisateur auront la priorité sur les modules fournis par le système.Si vous utilisez la variable d'environnementJBOSS_MODULE_PATH
pour changer les emplacements où JBoss EAP cherche les modules, le produit ira chercher dans une structure de sous-répertoiresystem
dans un des emplacements spécifiés. Une structure de sous-répertoiresystem
doit exister quelquepart dans les emplacements spécifiés dansJBOSS_MODULE_PATH
. - Modules dynamiques
- Les modules dynamiques sont créés et chargés par le serveur d'application pour chaque déploiement JAR ou WAR (ou sous-déploiement d'un EAR). Le nom d'un module dynamique est dérivé du nom de l'archive déployée. Comme les déploiements sont chargés sous forme de modules, ils peuvent configurer des dépendances et peuvent être utilisés comme dépendances par d'autres déploiements.
Les modules ne sont chargés qu'en fonction des besoins. Cela a généralement lieu quand une application est déployée avec des dépendances implicites ou explicites.