Preguntas frecuentes sobre el entorno de ejecución de App Engine Java 8

Las siguientes preguntas corresponden al entorno de ejecución estándar de App Engine Java 8.

¿Puedo usar Kotlin con el entorno de ejecución de Java 8?

Sí. Consulta nuestros ejemplos de Kotlin en el repositorio de GitHub.

¿Puedo usar IntelliJ IDEA Community Edition con App Engine?

Sí. Hace falta la integración con Maven incorporada.

También puedes usar IntelliJ Ultimate Edition, que ofrece más características de desarrollo web de aplicaciones y está más integrado en el proceso de implementación de App Engine.

¿Funciona App Engine Cloud Endpoints v1.0 en el entorno de ejecución de Java 8?

No. Debes migrar a la versión 2.0 de Cloud Endpoints Frameworks.

¿Por qué obtengo java.lang.NoClassDefFoundError para las clases reempaquetadas?

Las clases internas reempaquetadas, como com/google/appengine/repackaged/com/google/common/collect/ImmutableList, ya no están disponibles en el entorno de ejecución de Java 8, aunque estén definidas en versiones anteriores del JAR de la API de App Engine.

Si necesitas usar las clases reempaquetadas en tu app de Java 8, establece appengine.api.legacy.repackaging como verdadero en appengine-web.xml. Por ejemplo:

<system-properties>
  <property name="appengine.api.legacy.repackaging" value="true">
</system-properties>

Te recomendamos reemplazar estas clases con otras que sean públicas y no estén reempaquetadas.

¿Puedo dividir el tráfico entre Java 8 y Java 11?

Sí, cada versión de módulo o servicio puede usar una versión de entorno de ejecución diferente y se admite la división de tráfico.

¿Qué tratamiento reciben los subprocesos de Java 8 cuando una instancia no recibe solicitudes?

Los subprocesos creados con las API de App Engine continuarán funcionando como antes.

Escalamiento automático Escalamiento manual Escalamiento básico
La instancia finaliza debido a la falta de solicitudes. La instancia finaliza después de la última solicitud (valor predeterminado: 5 minutos) Se ejecuta ininterrumpidamente.

¿Qué características del servidor de metadatos son compatibles con el entorno de ejecución de App Engine Java 8?

El entorno de ejecución de Java 8 es compatible con las siguientes URL del servidor de metadatos.

/computeMetadata/v1/project/numeric-project-id (pending)
/computeMetadata/v1/project/project-id
/computeMetadata/v1/instance/zone
/computeMetadata/v1/instance/service-accounts/default/aliases
/computeMetadata/v1/instance/service-accounts/default/email
/computeMetadata/v1/instance/service-accounts/default/scopes
/computeMetadata/v1/instance/service-accounts/default/token
/computeMetadata/v1/instance/service-accounts/{account}/aliases
/computeMetadata/v1/instance/service-accounts/{account}/email
/computeMetadata/v1/instance/service-accounts/{account}/scopes
/computeMetadata/v1/instance/service-accounts/{account}/token

Servidor de metadatos v1beta1

El servidor de metadatos v1beta1 está obsoleto y se programó para el cierre. Asegúrate de actualizar todas las solicitudes para usar v1 o más reciente. Para obtener más información, consulta Transición al extremo del servidor de metadatos v1.

/computeMetadata/v1beta1/project/numeric-project-id  (pending)
/computeMetadata/v1beta1/project/project-id
/computeMetadata/v1beta1/instance/zone
/computeMetadata/v1beta1/instance/service-accounts/default/aliases
/computeMetadata/v1beta1/instance/service-accounts/default/email
/computeMetadata/v1beta1/instance/service-accounts/default/scopes
/computeMetadata/v1beta1/instance/service-accounts/default/token
/computeMetadata/v1beta1/instance/service-accounts/{account}/aliases
/computeMetadata/v1beta1/instance/service-accounts/{account}/email
/computeMetadata/v1beta1/instance/service-accounts/{account}/scopes
/computeMetadata/v1beta1/instance/service-accounts/{account}/token

¿Por qué se interrumpen mis solicitudes?

Si creas un grupo de subprocesos en una solicitud, debes asegurarte de cerrarlo explícitamente antes de que finalice la solicitud en curso.