아래의 질문은 App Engine 자바 8 표준 런타임에 해당하는 질문입니다.
자바 8 런타임에서 Kotlin을 사용해도 되나요?
예. GitHub 저장소에서 Kotlin 샘플을 확인하세요.
App Engine에서 IntelliJ IDEA Community Edition을 사용해도 되나요?
예. 내장된 Maven 통합을 사용하면 됩니다.
더 많은 웹 애플리케이션 개발 기능을 제공하고 App Engine 배포 프로세스와 더 긴밀하게 통합되는 IntelliJ Ultimate Edition을 사용해도 됩니다.
App Engine Cloud Endpoints v1.0이 자바 8 런타임에서 작동하나요?
아니요. Cloud Endpoints Frameworks 버전 2.0으로 이전해야 합니다.
리패키지 클래스에서 java.lang.NoClassDefFoundError가 발생하는 이유는 무엇인가요?
리패키지 내부 클래스(com/google/appengine/repackaged/com/google/common/collect/ImmutableList
)는 이전 버전의 App Engine API JAR에서 정의된 경우에도 자바 8 런타임에서 사용할 수 없습니다.
자바 8 앱에서 리패키지 클래스를 사용하려면 appengine-web.xml
에서 appengine.api.legacy.repackaging
을 true로 설정합니다. 예를 들면 다음과 같습니다.
<system-properties>
<property name="appengine.api.legacy.repackaging" value="true">
</system-properties>
이러한 클래스는 리패키지 클래스가 아닌 공개 클래스로 바꾸는 것이 좋습니다.
자바 8과 자바 11 사이에서 트래픽 분할을 수행할 수 있나요?
예. 각 서비스 또는 모듈 버전은 서로 다른 런타임 버전을 사용할 수 있으며 트래픽 분할이 지원됩니다.
인스턴스가 요청을 받지 않을 때 자바 8 스레드는 어떻게 처리되나요?
App Engine API로 생성된 스레드는 전처럼 계속 작동합니다.
자동 확장 | 수동 확장 | 기본 확장 |
---|---|---|
요청이 없으므로 인스턴스가 종료됩니다. | 마지막 요청 이후에 인스턴스가 종료됩니다(기본값: 5분). | 영구적으로 실행됩니다. |
App Engine 자바 8 런타임에서는 어떤 메타데이터 서버 기능이 지원되나요?
App Engine 자바 8 런타임은 다음과 같은 메타데이터 서버 URL을 지원합니다.
/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
메타데이터 서버 v1beta1
v1beta1 메타데이터 서버는 지원 중단되었으며 종료될 예정입니다. v1 이상을 사용할 수 있도록 모든 요청을 업데이트해야 합니다. 자세한 내용은 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
내 요청에서 응답할 수 없는 이유는 무엇인가요?
요청에 스레드 풀을 만드는 경우 현재 요청이 종료되기 전에 요청을 명시적으로 종료해야 합니다.