devstory

Déployer le application Spring Boot sur Oracle WebLogic Server

1- Objectif de la leçon

Dans cette leçon, je vous donnerai des instructions de déployer une application Spring Boot dans WebLogic Server. Ceci est un Web Server fournit par Oracle, téléchargement gratuit, le développement (developing), le test (testing), le prototypage (prototyping) et la démonstration (demonstrating) de votre application. Le WebLogic est publié sur la base de la licence OTN.
Assurez- vous que vous avez installé le WebLogic avec succès. Si non, vous pouvez faire référence au moyen de l'installation de WebLogic comme dans la poste ci-dessous :
En fait, l'application Spring Boot peut être empaquetée dans un fichier JAR exécutable (Executable JAR file). Avec ce fichier, vous pouvez exécuter l'application directement sans la déployer sur un Web Server. Executable JAR file ne peut pas être compatible avec tous les Web Server. Par conséquent, si vous souhaitez le déployer sur un Web Server, vous devez empaqueter l'application Spring Boot dans un fichier WAR.

2- Éditer le code

Ici j'ai un projet Spring Boot, dévéloppé avec Eclipse IDE. Lors de la création un Spring Boot vous avez deux choix de l'empaquetage tels que WAR ou JAR.
Lorsque vous créez un projet Spring Boot avec l'option "Packaging = War", Eclipse créera deux classes telles que "AbcApplication & ServletInitializer" pour vous. Des fichiers WAR est approprié pour déployer (deploy) sur des Web Server.
Alors si vous créez un Spring Boot avec le choix "Packaging = Jar", il n'y a une seule classe AbcApplication qui sera créée. Lorsque l'application Spring Boot est empaquetée dans le fichier JAR, elle sera exécutable (Executabe) indépendamment sans la déployer sur des Web Server. Mais le fichier JAR n'est pas approprié pour être déployé sur des Web Server.

WAR File.

Si vous avez un Spring Boot disponible, vous devriez corriger la méthode de l'empaquetage (Packaging) en WAR :
Sur Eclipse ouvrez le fichier pom.xml, et changez la méthode de l'empaquetage (packaging) en war.
Si votre projet n'avez pas de la classe ServletInitializer, créez- la.
ServletInitializer.java
package org.o7planning.example;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

public class ServletInitializer extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(SpringBootWebLogicApplication.class);
    }

}
Ajoutez l'extrait de configuration ci-dessous au fichier pom.xml :
** pom.xml **
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>
S'il y a plus d'une classe Application dans votre projet, indiquez au Spring Boot quelle classe sera utilisée pour votre application.
** pom.xml **
<properties>
        <start-class>org.o7planning.example.OtherSpringBootWebApplication</start-class>
</properties>

weblogic.xml & dispatcherServlet-servlet.xml

Créez deux fichiers tels que weblogic.xml & dispatcherServlet-servlet.xml dans le dossier src/main/webapp/WEB-INF. Il est à noter que ce dossier n'existe pas, créez - la.
Lorsque votre application est déployée sur le WebLogic, elle sera "context-root = /myweb" et vous pouvez la changez par l'installation dans le fichier weblogic.xml :
weblogic.xml
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app
        xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app
        http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">

    <wls:context-root>/myweb</wls:context-root>
    <wls:container-descriptor>
        <wls:prefer-application-packages>
            <wls:package-name>org.slf4j.*</wls:package-name>
            <wls:package-name>org.springframework.*</wls:package-name>
        </wls:prefer-application-packages>
    </wls:container-descriptor>

</wls:weblogic-web-app>
dispatcherServlet-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd">
    
</beans>

3- Install Spring Boot

Dans l'étape suivante, vous avez besoin d'utiliser Maven pour créer le fichier WAR. Assurez- vous que votre Eclipse utilise JDK au lieu d'utiliser JRE, si non, une erreur se produira dans cette procédure.
Cliquez sur le bouton droite du projet et sélectionnez :
  • Run As/Maven Install

En ce moment, vous aurez un fichier WAR qui se trouve dans le dossier target du projet. Vous pouvez utiliser ce fichier pour déployer sur Tomcat Server.

4- Deploy on WebLogic

Après l'empaquetage de l'application dans un fichier WAR, vous pouvez déployer ce fichier sur le WebLogic :
Il y a deux approaches de déploiement de l'application sur WebLogic Server.
  1. Copiez le fichier WAR dans un dossier du serveur, puis déployez le dans WebLogic. Si vous souhaitez redéployer l'application, il vous suffit de copier le nouveau fichier WAR en écrasant l'ancien fichier et d'informer WebLogic de mettre à jour l'application.
  2.  Utilisez la fonction de Upload pour déployer le fichier WAR.
OK, ici j'ai copié le fichier WAR et l'ai installé dans un dossier du serveur.
Appuyez sur le bouton "Activate Changes" pour activez des changements.
En ce moment, votre application a "Prepared" (préparé). Elle n'est pas vraiment activée à travailler.

Test

5- Désinstaller (Undeploy)

Afin de désinstaller (Undeploy) une application sur le WebLogic, vous devez exécuter deux étapes.
  1. Arreter (Stop) l'application.
  2. Supprimer l'application sur le WebLogic.

6- Mettre à jour le déploiement

Si votre application est mise à jour, vous réempaquetez l'application et obenir un nouveau fichier WAR. Pour installer l'application encore une fois, vous avez deux manière à faire :
  1. Déinstaller (Undeploy) l'application et la réinstaller (Redeploy).
  2. Copier le nouveau fichier WAR en écrasant l'ancien fichier WAR, et indiquer au WebLogic de mettre à jour l'application (ou redémarrer le WebLogic). Remarque : Cette manière n'est qu'utilisé lorsque votre application est déployé directement du fichier WAR mis sur le serveur.
Dans l'étape précédante, j'ai déployé l'application directement du fichier WAR mis dans un dossier sur le serveur. Maintenant je vais copier le nouveau fichier pour écraser l'ancient fichier.
Et mettez à jour (Update) l'application :
Peut-être que vous êtes intéressé

Voici des leçons en ligne à part du site web o7planning que nous recommandons. La liste comprend des leçons en ligne et celles en promo.