Статьи

Свобода в облаке Oracle Application Container

В этой записи блога я опишу, как развернуть приложение CloudEE Duke, упакованное в пакет Liberty, в Oracle Application Container Cloud .

Артефакт развертывания, необходимый для развертывания в Oracle Application Container Cloud, представляет собой ZIP-архив, содержащий приложение über-jar и файл манифеста (manifest.json). Версия Liberty файла manifest.json для CloudEE Duke приведена ниже.

manifest.json

01
02
03
04
05
06
07
08
09
10
11
12
{
    "runtime": {
        "majorVersion": "8"
    },
    "command": "java -jar cloudee-duke.jar",
    "release": {
        "version": "1.0",
        "build": "1",
        "commit": "123"
    },
    "notes": "Dukes says hello from Liberty"
}

Вам нужно указать порт для использования Liberty. Это можно сделать, настроив его в файле server.xml с помощью переменной среды $ {env.PORT}, как показано здесь:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
<server description="Sample Liberty server">
    <featureManager>
        <feature>microprofile-1.2</feature>
    </featureManager>
  
    <httpEndpoint  httpPort="${env.PORT}"
                   httpsPort="9443"
                   id="defaultHttpEndpoint"
                   host="*" />
  
    <quickStartSecurity userName="duke" userPassword="duke"/>
  
    <keyStore id="defaultKeyStore" password="Liberty"/>
</server>

Über-jar создается с использованием комбинации плагина Maven Resources и плагина Liberty Maven:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>3.0.2</version>
    <executions>
        <execution>
            <id>copy-app</id>
            <phase>package</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <outputDirectory>${project.build.directory}/liberty/wlp/usr/servers/defaultServer/dropins</outputDirectory>
                <resources>
                    <resource>
                        <directory>${project.build.directory}</directory>
                        <includes>
                            <include>${project.build.finalName}.war</include>
                        </includes>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>net.wasdev.wlp.maven.plugins</groupId>
    <artifactId>liberty-maven-plugin</artifactId>
    <version>2.2</version>
    <extensions>true</extensions>
    <configuration>
        <install>
            <type>webProfile7</type>
            <version>2018.+</version>
        </install>
        <configFile>${basedir}/src/main/liberty/config/server.xml</configFile>
        <serverEnv>${basedir}/src/main/liberty/config/server.env</serverEnv>
        <jvmOptionsFile>${basedir}/src/main/liberty/config/jvm.options</jvmOptionsFile>
        <packageFile>${project.build.directory}/${project.build.finalName}.jar</packageFile>
        <include>runnable</include>
    </configuration>    
    <executions>
        <execution>
            <id>install-liberty</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>install-server</goal>
            </goals>
        </execution>
        <execution>
            <id>package-app</id>
            <phase>package</phase>
            <goals>
                <goal>package-server</goal>
            </goals>
        </execution>
    </executions>              
</plugin>

См. Полный файл pom.xml для примера того, как создать развертываемый ZIP-архив с помощью команды maven:

1
mvn clean package assembly:single -Pliberty

Это создаст файл с именем cloudee-duke-oracle-liberty.zip в целевой папке. Это ZIP-архив, который вы развернете в Oracle Application Container Cloud, как показано на снимке экрана ниже.

Когда ваше приложение развернуто, вы должны иметь доступ к конечной точке приветствия

1
https://<dependsonyouraccount>.oraclecloud.com/helloZ

Герцог говорит привет!

У вас также будут конечные точки работоспособности и показателей, предоставляемые реализацией MicroProfile.

1
https://<dependsonyouraccount>.oraclecloud.com/health

{
результат: «UP»,
проверяет: []}

1
https://<dependsonyouraccount>.oraclecloud.com/metrics

# TYPE base: classloader_total_loaded_class_count counter
# HELP base: classloader_total_loaded_class_count Отображает общее количество классов, которые были загружены с момента запуска виртуальной машины Java.
база: classloader_total_loaded_class_count 9430
# TYPE base: cpu_system_load_average gauge

Опубликовано на Java Code Geeks с разрешения Ивара Гримстада, партнера нашей программы JCG . Смотреть оригинальную статью здесь: Свобода в Oracle Application Container Cloud

Мнения, высказанные участниками Java Code Geeks, являются их собственными.