En esta guía se muestra cómo escribir un servicio web Java para que se ejecute en el entorno estándar de App Engine. Para obtener más información sobre el tiempo de ejecución de Java y cómo funciona, consulta Entorno de tiempo de ejecución de Java.
Antes de empezar
Si aún no lo has hecho:
- Instala la versión más reciente del Java Development Kit (JDK) para la versión del entorno de ejecución de App Engine que quieras usar.
- Descarga e instala Apache Maven para compilar, ejecutar y desplegar la aplicación de ejemplo.
Puntos clave
- App Engine inicia tu aplicación subiendo una aplicación JAR ejecutable.
- Tu aplicación debe tener una clase principal que inicie un servidor web que responda a las solicitudes HTTP en el puerto especificado por la variable de entorno PORT, normalmente 8080.
- Necesitas un archivo
app.yaml
para desplegar tu servicio en App Engine. - Puedes usar las dependencias incluyéndolas en el archivo
pom.xml
. Para obtener más información, consulta Usar bibliotecas de Java.
Crear una clase principal
El núcleo de tu servicio web es el servidor HTTP. El código de ejemplo de esta guía usa el framework Spring Boot para gestionar las solicitudes HTTP, pero puedes usar el framework web que quieras.
Genera un proyecto de Spring Boot para Java que use el sistema de compilación Maven y que contenga la dependencia Spring Web. Para empezar, haz clic en el siguiente enlace:
En Spring Initializer, haz clic en el botón Generate (Generar) para generar y descargar tu proyecto.
En el proyecto descargado, edita el archivo
springboot/src/main/java/com/example/appengine/springboot/DemoApplication.java
para añadir algunas importaciones de Java y un controlador 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 clase modificada es un controlador que inicia el servidor Tomcat insertado de Spring Boot y responde a las solicitudes
GET
en la ruta raíz ('/'
) con el texto "Hello world!".
Ejecutar el servidor de forma local
Para ejecutar el servidor de forma local, haz lo siguiente:
Inicia un servidor web local con el complemento Maven de Spring Boot.
mvn spring-boot:run
En tu navegador web, introduce la siguiente dirección:
http://localhost:8080
El mensaje Hello World de la aplicación de ejemplo se muestra en la página. En la ventana de la terminal, pulsa Ctrl+C para salir del servidor web.
Crea el archivo app.yaml
Para especificar la configuración de tu aplicación en el entorno de ejecución de App Engine, sigue estos pasos:
Crea un archivo llamado
app.yaml
en el siguiente directorio:
springboot/src/main/appengine/
Añade el siguiente contenido al archivo:
Java 21
runtime: java21
El archivo
app.yaml
también puede especificar ajustes de red, ajustes de escalado y más. Para obtener más información, consulta la referencia deapp.yaml
.
Si has usado el enlace Spring Initializr de arriba, ahora deberías tener una estructura de archivos como la siguiente:
springboot/
pom.xml
src/main/
appengine/
app.yaml
java/com/example/appengine/springboot/
DemoApplication.java
También puedes añadir al archivo pom.xml del proyecto el complemento de Maven que permite implementar la aplicación:
<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>
Pasos siguientes
Ahora que has creado un servidor web Java sencillo que escucha el puerto correcto y has especificado el tiempo de ejecución en un archivo app.yaml
, ya puedes desplegar tu servicio en App Engine.