En esta guía, se muestra cómo escribir un servicio web de Java para ejecutarse en el entorno estándar de App Engine. Para obtener más información sobre el entorno de ejecución de Java y cómo funciona, consulta Entorno de ejecución de Java.
Antes de comenzar
Si aún no lo hiciste, completa estos pasos:
- Instala la última versión del kit de desarrollo de Java (JDK) para la versión del entorno de ejecución de App Engine que planeas usar.
- Descarga e instala Apache Maven para compilar, ejecutar e implementar la app de muestra.
Puntos clave
- App Engine inicia la aplicación mediante la carga de una aplicación JAR ejecutable.
- La 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, por lo general, 8080.
- Necesitas un archivo
app.yaml
para implementar el servicio en App Engine. - Puedes usar dependencias. Para ello, inclúyelas en una lista en el archivo
pom.xml
. Para obtener más información, consulta Usa bibliotecas de Java.
Crea una clase principal
El núcleo de tu servicio web es el servidor HTTP. En el código de muestra de esta guía, se usa el framework Spring Boot para administrar las solicitudes HTTP, pero puedes usar el framework web que desees.
Genera un proyecto de Spring Boot para Java que use el sistema de compilación de Maven y contenga la dependencia de Spring Web. Para comenzar, haz clic en el siguiente vínculo:
En Spring Initializer, haz clic en el botón Generate para generar y descargar el proyecto.
En el proyecto descargado, edita el archivo
springboot/src/main/java/com/example/appengine/springboot/DemoApplication.java
para agregar algunas importaciones de Java y un controlador hello de REST: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 incorporado de Spring Boot y responde a las solicitudes
GET
en la ruta raíz ('/'
) con el texto “Hello world!”.
Ejecuta el servidor de manera local
Para ejecutar el servidor de manera local, haz lo siguiente:
Inicia un servidor web local mediante el complemento de Maven para Spring Boot.
mvn spring-boot:run
En el navegador web, ingresa la siguiente dirección:
http://localhost:8080
El mensaje Hello World de la app de muestra se ve en la página. En la ventana de la terminal, presiona Ctrl + C para salir del servidor web.
Crea el archivo app.yaml
Para especificar la configuración de la app 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/
Agrega el siguiente contenido al archivo:
Java 21
runtime: java21
El archivo
app.yaml
también puede especificar la configuración de red, la configuración de escalamiento y más opciones. Para obtener más información, consulta la referencia deapp.yaml
.
Si usaste el vínculo de Spring Initializr que se proporcionó antes, 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 agregar al archivo pom.xml del proyecto el complemento de Maven que permite la implementación de 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>
Próximos pasos
Ahora que creaste un servidor web Java simple que escucha en el puerto correcto y especificaste el entorno de ejecución en un archivo app.yaml
, estás listo para implementar tu servicio en App Engine.