Eine App Engine-Anwendung wird über eine app.yaml
-Datei konfiguriert. Diese enthält Einstellungen für CPU-, Arbeitsspeicher-, Netzwerk- und Datenträgerressourcen, Skalierungen und andere allgemeine Einstellungen, einschließlich Umgebungsvariablen.
Sie können eine beliebige neue Java 11+-Version oder ältere Eclipse Jetty 9.3- oder Java 8--Versionen auswählen.
Für Eclipse Jetty 9.3 und Java 8 können Sie Maven oder Gradle verwenden.
app.yaml
-Dateien
Sie können die Laufzeitkonfiguration für Ihre Java-Anwendung, einschließlich Versionen und URLs, in der Datei app.yaml
angeben. Diese Datei dient als Deployment-Deskriptor für eine bestimmte Dienstversion.
Erstellen Sie zuerst die Datei app.yaml
für den Dienst default
Ihrer Anwendung. Erst dann können Sie app.yaml
-Dateien für zusätzliche Dienste erstellen und bereitstellen.
Die folgende app.yaml
-Datei veranschaulicht, wie Ihre Anwendung für die Java-Versionen 8, 11 und 17 und höher konfiguriert wird. Beachten Sie, dass Sie Ihre app.yaml
-Datei aktualisieren müssen, um die neue Version zu verwenden. Weitere Informationen zur Verwendung der neuen Versionen finden Sie unter Java-Laufzeit.
Version 17 und höher
runtime: java
env: flex
runtime_config:
operating_system: "ubuntu22"
runtime_version: "21"
handlers:
- url: /.*
script: this field is required, but ignored
manual_scaling:
instances: 1
Version 11
runtime: java
env: flex
runtime_config:
operating_system: "ubuntu18"
runtime_version: "11"
handlers:
- url: /.*
script: this field is required, but ignored
manual_scaling:
instances: 1
Version 8
Je nach Komplexität des Dienstes Ihrer Anwendung müssen Sie möglicherweise nur wenige Elemente in der entsprechenden app.yaml
-Datei definieren. In diesem Beispiel wird gezeigt, was eine einfache Java-Anwendung in der flexiblen Umgebung erfordern kann:
Sie können Dateien des Typs app.yaml
jeweils eindeutige Namen geben, müssen diese Dateinamen dann aber auch im Bereitstellungsbefehl angeben. Wenn Sie beispielsweise Ihre app.yaml
-Datei service-name-app.yaml
oder app.flexible.yaml
benennen, müssen Sie Ihre Anwendung so bereitstellen:
gcloud app deploy service-name-app.yaml
gcloud app deploy app.flexible.yaml
app.yaml
-Dateien in Ihrer Anwendung finden Sie unter Webdienste strukturieren.
Alle Konfigurationselemente
Eine vollständige Liste aller in dieser Konfigurationsdatei unterstützten Elemente finden Sie in der Referenz zu app.yaml
.
Erfassung von Java-VM-Messwerten aktivieren
Sie können die flexible App Engine-Umgebung für Java konfigurieren, um allgemeine Messwerte für JVM-Prozesse (Java Virtual Machines) zu erfassen. Die Messwerte werden mit demselben JVM-Monitoring-Plug-in erfasst, das auch von Cloud Monitoring verwendet wird. Eine vollständige Liste der Messwerte für App Engine finden Sie in der Anleitung für Google Cloud-Messwerte.
So können Sie diese JVM-Messwerte für Ihre Anwendung erfassen:
appengine.googleapis.com/flex/instance/jvm/gc/count
appengine.googleapis.com/flex/instance/jvm/gc/time
Sie müssen die folgenden JMX-Systemattribute in den Umgebungsvariablen in Ihrer app.yaml
festlegen und Ihre Anwendung bereitstellen.
JAVA_USER_OPTS: "-Djava.rmi.server.hostname=172.17.0.1 -Dcom.sun.management.jmxremote.port=10403 -
Dcom.sun.management.jmxremote.rmi.port=10403 -Dcom.sun.management.jmxremote.local.only=false -
Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"