Déploiement de l'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 :