Bereitstellen der Spring Boot-Anwendung auf Oracle WebLogic Server

1- Das Zweck des Artikel

In diesem Artikel werde ich Sie bei der Implementation einer Applikation  Spring Boot auf  WebLogic Server anleiten. Das ist ein  Web Server, der durch  Oracle angeboten. Es ist umsonst für Herunterladen, Entwicklung (developing), Probe (testing), Prototyping und Vorführen (demonstrating) Ihrer Applikation. WebLogic wird nach der Lizenz  OTN ​​​​​​​freigegeben.
Stellen Sie sicher, dass Sie  WebLogic erfolgreich installiert haben, umsonst können Sie die Installation von  WebLogic nach dem folgenden Artikel referenzieren
Im Praxis kann die Applikation  Spring Boot in einer durchführbaren File   JAR (Executable JAR file) eingepackt. Mit dieser File können Sie ohne die Implementation auf einen  Web Server die Applikation direkt laufen. Executable JAR file kann allen  Web Server nicht entsprechen. Deshalb brauchen Sie die Applikation Spring Boot zur File  WAR einzupacken wenn Sie auf Web Server implementieren möchten.

2- Die Kode ändern

Hier habe ich ein Projekt  Spring Boot, das durch   Eclipse IDE entwickelt wird. Bei der Erstellung des Projekt  Spring Boot haben Sie 2 Auswähle zur Projektseinpackung. Das sind  WAR oder  JAR.
Wenn Sie das Projekt  Spring Boot mit der Auswahl  "Packaging = War" erstellen, wird  Eclipse Ihnen 2 Klasse  "AbcApplication & ServletInitializer" erstellen. Die File  WAR entspricht der Implementation (deploy) auf den  Web Server.
Inzwischen wenn Sie das Projekt  Spring Boot mit der Auswahl  "Packaging = Jar", wird eine Klasse  AbcApplication nur erstellt. Wenn die Applikation  Spring Boot zur File  JAR eingepackt wird, kann es ohne die Implementation auf einem Web Server unabhängig durchgeführbar sein (executable). Aber die File  JAR entspricht der Implementation auf  Web Server ​​​​​​​nicht.

WAR File.

Wenn Sie ein Projekt  Spring Boot haben, brauchen Sie die Einpackungsmethode zur  WAR umwandeln:
Auf  Eclipse öffnen Sie die File  pom.xml, und ändern die Einpackungsmethode zur  war.
Wenn Ihr Projekt keine Klasse  ServletInitializer hat, erstellen Sie sie
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);
    }

}
Die Konfiguration in  pom.xml ​​​​​​​einfügen:
** pom.xml **
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>
Wenn es gibt mehr als eine Klasse  Application in Ihrem Projekt, sagen Sie  Spring Boot , welche Klasse für Ihre Applikation verwendet wird.
** pom.xml **
<properties>
        <start-class>org.o7planning.example.OtherSpringBootWebApplication</start-class>
</properties>

weblogic.xml & dispatcherServlet-servlet.xml

Erstellen Sie 2 File  weblogic.xml & dispatcherServlet-servlet.xml im Verzeichnis  src/main/webapp/WEB-INF. Achtung, wenn der Verzeichnis existiert nicht, erstellen Sie sie.
Bei der Implementation auf  WebLogic hat Ihre Applikation  "context-root = /myweb" bekommen, Sie können durch die Konfiguration in die File  weblogic.xml ändern:
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

Zunächst sollen Sie  Maven verwenden um die File   WAR zu erstellen. Stellen Sie sicher, dass Ihr  Eclipse   JDK anstatt von  JRE verwendet, umsonst entstehen die Fehler in diesem Prozess
Klicken Sie die Rechtmaustaste auf Project und wählen :
  • Run As/Maven Install

Jetzt haben Sie eine File  WAR im Verzeichnis  target des Projekt. Sie können die File verwenden um auf  Tomcat Server ​​​​​​​zu implementieren.

4- Deploy on WebLogic

Nach der Einpackung der Applikation zur File  WAR, können Sie diese File auf  WebLogic implementieren:
Es gibt 2 Approaches um die Applikation auf  WebLogic Server zu implementieren.
  1. Die File WAR kopieren um in einem Verzeichnis des Server zu stellen. Danach implementieren Sie diese File auf WebLogic. Wenn Sie die Applikation wieder implementieren möchten, brauchen Sie die File WAR kopieren und die alte File überschreiben und informieren WebLogic , die Applikation zu aktualisieren
  2. Die Funktion Upload verwenden um die File WAR ​​​​​​​zu implementieren
OK, Hier habe ich die File WAR kopiert und in einem Verzeichnis auf Server gestellt.
Klicken Sie  "Activate Changes" um die Änderungen zu aktivieren.
Jetzt hat Ihre Applikation den Status  "Prepared" (vorbereitet). Es wird nicht wirklich aktiviert zu funktionieren.

Test

5- Undeploy

Um eine Applikation auf  WebLogic zu undeploy, müssen Sie 2 Schritten durchführen
  1. Die Applikation stoppen.
  2. Aus WebLogic ​​​​​​​die Appliaktion löschen.

6- Die Implementation aktualiseren

Wenn die Applikation Update gemacht wird, packen Sie die Applikation wieder ein und bekommen eine neue File  WAR . Zur Implementation der Applikation haben Sie 2 Wege:
  1. Die Applikation undeploy und umstellen (Redeploy).
  2. Die File WAR kopieren und die alte File WAR überschreiben, und WebLogic informieren, die Applikation zu aktualisieren (oder WebLogic wiederstarten). Achtung: Dieser Weg wird nur angewendet wenn Ihre Applikation aus der auf dem Server gestellten File WAR direkt implementiert.
Im Schritt oben habe ich aus der im Server gestellten File  WAR die Applikation direkt implementiert. Jetzt kopieren Sie die File um die alte File zu überschreiben
Und die Applikation aktualisieren (Update)