1.5 Liaison Wildfly et MySQL - dosseggegw1/AMT_projet GitHub Wiki
Installation du connecteur MySQL, on prend la version 8.0.17
pour qu'elle soit compatible avec notre plugin maven.
cd /opt
sudo wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.17.tar.gz
On peut l'extraire directement afin de récupérer le .jar
:
sudo tar -xvzf mysql-connector-java-8.0.17.tar.gz
Setup du MySQL JDBC Driver en tant que module Wildfly:
sudo mkdir -p /opt/wildfly-22.0.0.Final/modules/system/layers/base/com/mysql/main
!! Le chemin de wildfly dépend de votre propre installation !!
On copie le connecteur vers /opt/wildfly-22.0.0.Final/modules/system/layers/base/com/mysql/main
.
On crée maintenant un fichier module.xml
qui nous permet de configurer le driver en tant que module wildfly:
cd wildfly-22.0.0.Final/modules/system/layers/base/com/mysql/main
sudo nano module.xml
Ajoutez ce code dans le fichier:
<module xmlns="urn:jboss:module:1.5" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-8.0.17.jar" />
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
À présent, il faut redémarrer le service WildFly:
sudo systemctl restart wildfly
On va ajouter la configuration de la base de données au fichier de configuration standalone.xml
.Pour ça on va utiliser le client JBoss afin de faciliter l'édition du fichier:
cd /opt/wildfly-22.0.0.Final/bin/
./jboss-cli.sh
Le script vous demandera de vous connecter, vous pouvez entrer connect
et ils vous demandera de vous logguer, c'est l'identifiant créé pour la console d'administration.
Une fois loggué, entrez cette commande:
data-source add --jndi-name=java:jboss/datasources/MySQLDS --name=MySQLDS --enabled=true --use-java-context=true --connection-url=jdbc:mysql://localhost:3306/AMT_SQL --driver-name=mysql --min-pool-size=2 --max-pool-size=10 --user-name=root --password=root
Et également:
/subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql)
Vous devriez voir ce résultat dans le fichier standalone.xml
:
<datasource jndi-name="java:jboss/datasources/MySQLDS" pool-name="MySQLDS" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/AMT_SQL</connection-url>
<driver>mysql</driver>
<pool>
<min-pool-size>2</min-pool-size>
<max-pool-size>10</max-pool-size>
</pool>
<security>
<user-name>root</user-name>
<password>root</password>
</security>
</datasource>
<drivers>
<driver name="mysql" module="com.mysql">
<driver-class>com.mysql.jdbc.Driver</driver-class>
</driver>
Premièrement, vous vous connectez en tant que root
avec le mot de passe root
et l'host 127.0.0.1
:
mysql -u root -h 127.0.0.1 -p
Une fois connecté vous pouvez afficher toutes les bases de données:
SHOW DATABASES;
On peut ajouter la base de données du projet:
CREATE DATABASE IF NOT EXISTS AMT_SQL;
Et lui ajouter des tables. Pour cela, je vous laisse copier-coller la base de données qui se trouve dans la racine du projet.:
CREATE TABLE User (....);
Une fois créé (vérifier avec la commande SHOW DATABASES;
), on peut utiliser la base de données:
USE DATABASE AMT_SQL;
Une fois terminé, on peut afficher toutes nos tables pour vérifier que tout soit correct:
SHOW TABLES;
On peut voir une table en détail avec (table USER
par exemple):
DESC USER;
Avec tout cela, votre base de données devrait être bien liée ! S'il y a des soucis, assurer vous que les deux services tournent bien:
sudo systemctl status mysql
sudo systemctl status wildfly
Pour les redémarrer s'ils sont inactifs:
sudo systemctl restart mysql
sudo systemctl restart wildfly
- Premièrement, après avoir fait un
git pull
sur la branchedevelop
, on effectuemvn clean install package
dans le projet - On peut se connecter sur la console d'administration du serveur applicatif via le port
9990
- On récupère le fichier
shop.war
qu'on déploie sur le serveur - On se rend sur la page
localhost:8080/shop/hello-database
- Normalement une adresse e-mail devrait être affichée !