1. TUTORIEL www.antislashn.org
GWT 2.7 - Jetty et sources de données
Objectifs
Configurer une source de données avec GWT et Jetty.
Problématique
GWT 2.7 utilise Jetty 8.1 (cf. http://www.gwtproject.org/release-notes.html).
Le projet Jetty a migré de mortbay vers eclipse. Les exemples classiques que l'on trouve
habituellement sur internet ne fonctionnent pas car :
• les classes utilisées dans le fichier de configuration ne sont pas les mêmes
• les librairies nécessaires pour l'utilisation des classes du fichier de configuration ne sont pas
livrées avec le SDK de GWT
Pré-requis
En plus du SDK de GWT, il faut télécharger l bundle Jetty pour en extraire les librairies
manquantes.
Page de téléchargement : http://download.eclipse.org/jetty/
Bien choisir la version 8.1.17
Franck SIMON Titre 1/2
franck.simon@antislashn.org 26/07/2015 - version 1.0
n
2. TUTORIEL www.antislashn.org
Fichier de configuration des sources de données
Le fichier jetty-web.xml doit être créé dans le répertoire WEB-INF (au même niveau que le fichier
web.xml).
Le listing suivant en donne la structure de base :
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN"
"http://jetty.mortbay.org/configure.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<New id="DB" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg>jdbc/france</Arg>
<Arg>
<New class="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource">
<Set name="Url">jdbc:mysql://localhost:3306/france</Set>
<Set name="User">user</Set>
<Set name="Password">password</Set>
</New>
</Arg>
</New>
</Configure>
Notez les packages des classes de Jetty.
Le premier argument passé à la classe Resource correspond au nom JNDI de la source de
données. Ce nom JNDI sera utilisé par la couche de persistance, soit dans le fichier persistence.xml,
soit par injection de dépendance, ou recherche JNDI. Dans l'exemple le nom JNDI est
jdbc/france.
Le second paramètre correspond à la source de donnée elle-même. Ici celle de MySql. On retrouve
ensuite la liste habituelle de paramètres permettant la connexion à la base de donnée.
Ajout des librairies
Décompressez l'archive de Jetty, récupérez dans le répertoire lib les bibliothèques suivantes :
• jetty-jndi-8.1.17.v20150415.jar
• jetty-plus-8.1.17.v20150415.jar
et copiez les dans le répertoire WEB-INF/lib de votre projet.
Le répertoire war de votre projet doit ressembler à ceci :
Franck SIMON Titre 2/2
franck.simon@antislashn.org 26/07/2015 - version 1.0
n