codestory

Stellen Sie die Spring Boot-Anwendung auf Oracle WebLogic Server bereit

  1. Das Zweck des Artikel
  2. Die Kode ändern
  3. Install Spring Boot
  4. Deploy on WebLogic
  5. Undeploy
  6. Die Implementation aktualiseren

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 EclipseJDK 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)

Anleitungen Spring Boot

Show More