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

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

¿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é veo java.lang.NoClassDefFoundError en 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, configura 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 diferente del entorno de ejecución 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 que usen la v1 o una más reciente. Para obtener más información, consulta Transición a la v1 del extremo del servidor de metadatos.

/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é mis solicitudes no responden?

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