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

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

¿Puedo usar Kotlin con el tiempo 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í, con la integración de Maven.

También puedes usar IntelliJ Ultimate Edition, que te ofrece más funciones de desarrollo de aplicaciones web y tiene una integración más estrecha con 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é recibo el error java.lang.NoClassDefFoundError para las clases reempaquetadas?

Las clases internas empaquetadas de nuevo, 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 archivo JAR de la API de App Engine.

Si necesitas usar las clases empaquetadas de nuevo en tu aplicación Java 8, asigna el valor "true" a appengine.api.legacy.repackaging en appengine-web.xml. Por ejemplo:

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

Te recomendamos que sustituyas estas clases por las clases públicas no empaquetadas.

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

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

¿Cómo se tratan los hilos de Java 8 cuando una instancia no recibe solicitudes?

Los hilos creados con las APIs de App Engine seguirán funcionando como antes.

Escalado automático Escalado manual Escalado básico
La instancia finaliza por falta de solicitudes. La instancia finaliza después de la última solicitud (valor predeterminado: 5 minutos). Se ejecuta para siempre.

¿Qué funciones del servidor de metadatos se admiten en el entorno de ejecución de Java 8 de App Engine?

El entorno de ejecución de Java 8 de App Engine admite las siguientes URLs 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 va a cerrar. Asegúrate de actualizar todas las solicitudes para usar la versión 1 o una posterior. Para obtener más información, consulta el artículo sobre la transición al endpoint 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é no responden mis solicitudes?

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