Déploiement d'une application JDBC existante dans le profil Liberty

Vous pouvez prendre une application existante, utilisant Java™ Database Connectivity (JDBC) et une source de données, et la déployer sur un serveur.

Pourquoi et quand exécuter cette tâche

Vous pouvez déployer une application JDBC existante dans le profil Liberty. Pour effectuer ce déploiement, vous ajoutez la fonction Liberty jdbc-4.0 au fichier server.xml. Vous devez aussi ajouter du code pour indiquer au serveur l'emplacement du pilote JDBC et spécifier les propriétés que le pilote JDBC utilise pour se connecter à la base de données.

Dans cet exemple, vous pouvez étendre votre application de servlet ou utiliser celle qui est fournie ici afin de vérifier que l'interactivité utilisée dans le pilote JDBC fonctionne comme prévu.

Procédure

  1. Créez un serveur.
  2. Démarrez le serveur.
  3. Ajoutez les fonctions Liberty jdbc-4.0 et servlet-3.0 au fichier server.xml.
    <server>
       <featureManager>
           <feature>jdbc-4.0</feature>
           <feature>servlet-3.0</feature>
       </featureManager>
    </server>

    Pour vérifier que le serveur fonctionne et que les fonctions ont été activées, reportez-vous au fichier console.log, qui est stocké dans le répertoire logs du serveur. Vous pouvez l'afficher avec n'importe quel éditeur de texte. Il ressemble à l'exemple suivant :

    [AUDIT   ] CWWKF0012I: Le serveur a installé les fonctions suivantes : [jdbc-4.0, jndi-1.0].
    [AUDIT   ] CWWKF0008I: Mise à jour de fonction terminée en 0,326 secondes.
  4. Spécifiez le type de base de données et l'emplacement de la source de données dans le fichier server.xml.

    chemin_derby est l'emplacement auquel derby est installé sur votre système d'exploitation, lib est le dossier dans lequel se trouve derby.jar et data/exampleDB est le répertoire qui est créé s'il n'existe pas.

    Exemple :
    <jdbcDriver id="DerbyEmbedded" libraryRef="DerbyLib"/>
    
    <library id="DerbyLib">
      <fileset dir="C:/chemin_derby/lib" includes="derby.jar"/>
    </library>
    
    <dataSource id="ds1" jndiName="jdbc/exampleDS" jdbcDriverRef="DerbyEmbedded">
      <properties.derby.embedded
       databaseName="C:/chemin_derby/data/exampleDB"
       createDatabase="create"
      />
    </dataSource>
    Pour des informations sur d'autres options de codage des définitions de source de données, voir Utilisation de balises Ref dans les fichiers de configuration.
  5. Ajoutez des instructions SQL create, read, update et delete à votre application JDBC afin de tester l'interactivité avec la base de données.
    package wasdev;
    
    import java.io.*;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import javax.annotation.Resource;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.annotation.WebServlet;
    import javax.sql.DataSource;
    
    @WebServlet("/HelloWorld")
    public class HelloWorld extends HttpServlet {
      
      @Resource(name = "jdbc/exampleDS")
      private DataSource ds1;
      private Connection con = null;
      private static final long serialVersionUID = 1L;
      
      public HelloWorld() {
        super();
      }
      public void doGet (HttpServletRequest request, HttpServletResponse response) 
                                           throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<H1>Hello World Liberty Profile</H1>\n");
        try {
           con = ds1.getConnection();
           Statement stmt = null;
           stmt = con.createStatement();
           // créer une table
           stmt.executeUpdate("create table cities (name varchar(50) not null primary key, population int, county varchar(30))");
           // insérer un enregistrement de test
           stmt.executeUpdate("insert into cities values ('myHomeCity', 106769, 'myHomeCounty')");
           // sélectionner un enregistrement
           ResultSet result = stmt.executeQuery("select county from cities where name='myHomeCity'"); would result.next();
           // afficher le comté (county) d'appartenance de la ville
           out.println("The county for myHomeCity is " + result.getString(1));
           // supprimer la table pour pouvoir relancer le test.
           stmt.executeUpdate("drop table cities");
           } 
        catch (SQLException e) {
           e.printStackTrace();
           } 
        finally {
           if (con != null){
               try{
                  con.close();
                  }
               catch (SQLException e) {
                 e.printStackTrace();
                 } 
               }
           }
        }
    }
  6. Compilez votre application.

    chemin_liberty est l'emplacement auquel vous avez installé Liberty sur votre système d'exploitation et chemin_app est l'emplacement du fichier Java de l'application à compiler.

    Exemple sous Windows :
    C:\> javac -cp 
    chemin_liberty\wlp\dev\api\spec\com.ibm.ws.javaee.servlet.3.0_1.0.1.jar
           chemin_app\HelloWorld.java
    Exemple sous Linux :
    mo@machine01:~> javac -cp  
             chemin_liberty/wlp/dev/api/spec/com.ibm.ws.javaee.servlet.3.0_1.0.1.jar
             chemin_app/HelloWorld.java
    Si la commande javac n'est pas reconnue, vérifiez que le répertoire bin Java figure dans la variable d'environnement PATH de votre système d'exploitation.
  7. Ajoutez l'application au serveur.
    Dans cet exemple, l'application JDBC est placée dans le répertoire dropins du serveur :
    ...\dropins\HelloWorldApp.war\WEB-INF\classes\wasdev\HelloWorld

    Le répertoire wasdev utilise le nom de package qui est utilisé dans HelloWorld.java.

  8. Vérifiez que votre application JDBC fonctionne.
    Pour cet exemple, accédez à l'adresse URL suivante :
    http://localhost:9080/HelloWorldApp/HelloWorld

    Le port 9080 est le port HTTP par défaut qui est utilisé par le serveur Liberty. Vous pouvez vérifier le port HTTP défini pour votre serveur en consultant le fichier server.xml.

    La sortie dans le navigateur pour cet exemple ressemble à la suivante :

    Hello World Liberty Profile
    The county for myHomeCity is myHomeCounty

Icône indiquant le type de rubrique Rubrique Tâche

Dispositions pour les centres de documentation | Commentaires


Icône d'horodatage Dernière mise à jour: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_dep_jdbc
Nom du fichier : twlp_dep_jdbc.html