Ce guide explique comment écrire un service Web Java à exécuter dans l'environnement standard App Engine. Pour en savoir plus sur l'environnement d'exécution Java et son fonctionnement, consultez la page Environnement d'exécution Java.
Avant de commencer
Si ce n'est pas déjà fait :
- Installez la dernière version du kit de développement Java (JDK) pour la version d'exécution App Engine que vous envisagez d'utiliser.
- Téléchargez et installez Apache Maven pour créer, exécuter et déployer l'exemple d'application.
Points essentiels
- App Engine démarre votre application en important une application JAR exécutable.
- Votre application doit comporter une classe principale qui démarre un serveur Web répondant aux requêtes HTTP sur le port spécifié par la variable d'environnement PORT, généralement 8080.
- Vous avez besoin d'un fichier
app.yaml
pour déployer votre service sur App Engine. - Vous pouvez utiliser les dépendances en les répertoriant dans votre fichier
pom.xml
. Pour en savoir plus, consultez la section Utiliser les bibliothèques Java.
Créer une classe principale
Le serveur HTTP est au cœur de votre service Web. L'exemple de code de ce guide utilise le framework Spring Boot pour gérer les requêtes HTTP, mais vous êtes libre d'utiliser le framework Web de votre choix.
Générez un projet Spring Boot pour Java qui utilise le système de compilation Maven et contient la dépendance Spring Web. Pour commencer, cliquez sur le lien suivant :
Dans Spring Initializr, cliquez sur le bouton Generate (Générer) pour générer et télécharger votre projet.
Dans le projet téléchargé, modifiez le fichier
springboot/src/main/java/com/example/appengine/springboot/DemoApplication.java
pour ajouter des importations Java et un gestionnaire REST hello :package com.example.appengine.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @GetMapping("/") public String hello() { return "Hello world!"; } }
La classe modifiée est un contrôleur qui démarre le serveur Tomcat intégré à Spring Boot et répond aux requêtes
GET
sur le chemin racine ('/'
) avec le texte "Hello World".
Exécuter le serveur localement
Pour exécuter le serveur localement :
Démarrez un serveur Web local à l'aide du plug-in Maven Spring Boot.
mvn spring-boot:run
Dans votre navigateur Web, saisissez l'adresse suivante :
http://localhost:8080
Le message Hello World de l'exemple d'application s'affiche sur la page. Dans votre fenêtre de terminal, appuyez sur Ctrl+C pour quitter le serveur Web.
Créer le fichier app.yaml
Pour spécifier les paramètres de votre application dans l'environnement d'exécution App Engine, procédez comme suit :
Créez un fichier nommé
app.yaml
dans le répertoire suivant :springboot/src/main/appengine/
Ajoutez le contenu suivant au fichier :
Java 21
runtime: java21
Le fichier
app.yaml
peut également spécifier des paramètres réseau, des paramètres de scaling, etc. Pour en savoir plus, consultez la documentation de référence surapp.yaml
.
Si vous avez utilisé le lien Spring Initializr ci-dessus, vous devriez maintenant obtenir une structure de fichiers semblable à celle-ci :
springboot/
pom.xml
src/main/
appengine/
app.yaml
java/com/example/appengine/springboot/
DemoApplication.java
Vous pouvez également ajouter dans le fichier pom.xml du projet le plug-in Maven qui permet le déploiement de l'application :
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>2.8.1</version>
<configuration>
<projectId>YOUR_PROJECT_NAME</projectId>
<version>YOUR_VERSION</version>
<promote>false</promote>
</configuration>
</plugin>
Étapes suivantes
Maintenant que vous avez créé un serveur Web Java simple qui écoute le port approprié, et que vous avez spécifié l'environnement d'exécution dans un fichier app.yaml
, vous êtes prêt à déployer votre service sur App Engine.