Red Hat Training

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

6.2.2. Installer un pilote JDBC comme core module

Conditions préalables

Vous devrez remplir les conditions suivantes avant de pouvoir effectuer cette tâche  :

Procédure 6.2. Installer un pilote JDBC comme core module

  1. Créer une structure de chemin d'accès de fichier sous le répertoire EAP_HOME/modules/. Ainsi, pour un pilote MySQL JDBC, créer une structure de répertoire comme suit : EAP_HOME/modules/com/mysql/main/.
  2. Copier le pilote JDBC dans le sous-répertoire main/.
  3. Dans le sous-répertoire main/, créer un fichier module.xml ressemblant à l'exemple qui se trouve Section 7.1.1, « Modules ». Le module XSD est défini dans le fichier EAP_HOME/docs/schema/module-1_2.xsd.
  4. Démarrer le serveur.
  5. Démarrer l'interface CLI.
  6. Exécuter la commande CLI pour ajouter le module de pilote JDBC à la configuration du serveur.
    La commande que vous avez choisie dépend du nombre de classe listées dans le fichier /META-INF/services/java.sql.Driver qui se situe dans le JAR du pilote JDBC. Par exemple, le fichier /META-INF/services/java.sql.Driver du JAR JDBC MySQL 5.1.20 liste deux classes  :
    • com.mysql.jdbc.Driver
    • com.mysql.fabric.jdbc.FabricMySQLDriver
    Quand il n'y a plus d'une entrée, vous devez également spécifier le nom de la classe de pilote. Sinon, vous provoquerez une erreur semblable à ce qui suit :

    Exemple 6.1. Erreur de classe de pilote

    JBAS014749: Operation handler failed: Service jboss.jdbc-driver.mysql is already registered
    • Exécuter la commande CLI pour les JAR JDBC qui contiennent une entrée de classe.
      /subsystem=datasources/jdbc-driver=DRIVER_NAME:add(driver-name=DRIVER_NAME,driver-module-name=MODULE_NAME,driver-xa-datasource-class-name=XA_DATASOURCE_CLASS_NAME)

      Exemple 6.2. Commande CLI en mode autonome pour les JAR JDBC ayant une classe de pilote.

      /subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,driver-xa-datasource-class-name=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource)

      Exemple 6.3. Commande CLI en mode de domaine pour les JAR JDBC ayant une classe de pilote.

      /profile=ha/subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,driver-xa-datasource-class-name=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource)
    • Exécuter la commande CLI pour les JAR JDBC qui contiennent plusieurs entrées de classe.
      /subsystem=datasources/jdbc-driver=DRIVER_NAME:add(driver-name=DRIVER_NAME,driver-module-name=MODULE_NAME,driver-xa-datasource-class-name=XA_DATASOURCE_CLASS_NAME, driver-class-name=DRIVER_CLASS_NAME)

      Exemple 6.4. Commande CLI en mode autonome pour les JAR JDBC ayant plusieurs classes de pilote.

      /subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,driver-xa-datasource-class-name=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource, driver-class-name=com.mysql.jdbc.Driver)

      Exemple 6.5. Commande CLI en mode de domaine pour les JAR JDBC ayant plusieurs classes de pilote.

      /profile=ha/subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,driver-xa-datasource-class-name=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource, driver-class-name=com.mysql.jdbc.Driver)
Résultat

Le pilote JDBC est maintenant installé et configuré comme core module. Il est maintenant prêt à être référencé par les sources de données d'application.