Este guia mostra como escrever um serviço da Web Java para ser executado no ambiente padrão do App Engine. Para saber mais sobre o ambiente de execução do Java e como ele funciona, consulte Ambiente de execução do Java.
Antes de começar
Caso você ainda não tenha feito:
- Instale a versão mais recente do Java Development Kit (JDK) para a versão do ambiente de execução do App Engine que você planeja usar.
- Faça o download e instale o Apache Maven para criar, executar e implantar o aplicativo de exemplo.
Pontos principais
- O App Engine inicia seu aplicativo fazendo upload de um aplicativo JAR executável.
- Seu aplicativo precisa ter uma classe principal que inicie um servidor da Web que responda às solicitações HTTP na porta especificada pela variável de ambiente PORT, normalmente 8080.
- Você precisa de um arquivo
app.yaml
para implantar seu serviço no App Engine. - Para usar dependências, liste-as no arquivo
pom.xml
. Para mais informações, consulte Como usar bibliotecas Java.
Criar uma classe principal
O núcleo do serviço da Web é o servidor HTTP. O código de exemplo neste guia usa o framework Spring Boot para lidar com solicitações HTTP, mas você está livre para usar um framework da Web de sua preferência.
Gerar um projeto Spring Boot para Java que use o sistema de compilação do Maven e com dependências do Spring Web. Para começar, clique neste link:
No Spring Initializer, clique no botão Generate para gerar e fazer o download do seu projeto.
No projeto baixado, edite o arquivo
springboot/src/main/java/com/example/appengine/springboot/DemoApplication.java
para adicionar algumas importações Java e um manipulador de saudação 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!"; } }
A classe modificada é um controlador que inicia o servidor Tomcat incorporado do Spring Boot e responde com solicitações
GET
no caminho raiz ('/'
) com o texto "Hello world!"
Executar o servidor localmente
Para executar o servidor no local:
Inicie um servidor da Web local usando o plug-in Spring Boot Maven.
mvn spring-boot:run
No navegador da Web, digite este endereço:
http://localhost:8080
A mensagem Hello World do app de amostra é exibida na página. Na janela do terminal, pressione Ctrl+C para sair do servidor da Web.
Crie o arquivo app.yaml
.
Para especificar as configurações do aplicativo no ambiente de execução do App Engine:
Crie um arquivo chamado
app.yaml
no seguinte diretório:
springboot/src/main/appengine/
Adicione o seguinte conteúdo ao arquivo:
Java 21
runtime: java21
O arquivo
app.yaml
também pode especificar configurações de rede, configurações de escalonamento etc. Para mais informações, consulte a referência deapp.yaml
.
Se você usou o link Spring Initializer acima, deve ter uma estrutura de arquivo como a seguinte:
springboot/
pom.xml
src/main/
appengine/
app.yaml
java/com/example/appengine/springboot/
DemoApplication.java
Também é possível adicionar ao pom.xml do projeto o plug-in do Maven que permite a implantação do aplicativo:
<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óximas etapas
Agora que você criou um servidor da Web Java simples com listener na porta
correta e especificou o ambiente de execução em um arquivo app.yaml
,
implante o serviço no App Engine.