以下問題適用於 App Engine Java 8 標準執行階段。
我是否可以將 Kotlin 與 Java 8 執行階段搭配使用?
可以。請查看我們在 GitHub 存放區中的 Kotlin 範例。
我是否可以將 IntelliJ IDEA Community Edition 與 App Engine 搭配使用?
可以。請使用內建的 Maven 整合功能。
您也可以使用 IntelliJ Ultimate Edition,它可為您提供更多網路應用程式開發功能,並且已和 App Engine 部署程序更緊密地整合。
App Engine Cloud Endpoints v1.0 是否可以在 Java 8 執行階段中運作?
不可以。您必須遷移至 Cloud Endpoints Frameworks 2.0 版。
為什麼我會在重新封裝的類別收到 java.lang.NoClassDefFoundError?
Java 8 執行階段中已不再提供重新封裝的內部類別 (例如 com/google/appengine/repackaged/com/google/common/collect/ImmutableList
),即使在舊版 App Engine API JAR 中定義了這些類別。
如果您需要在 Java 8 應用程式中使用重新包裝的類別,請在 appengine-web.xml
中將 appengine.api.legacy.repackaging
設為 true。例如:
<system-properties>
<property name="appengine.api.legacy.repackaging" value="true">
</system-properties>
建議您使用非重新封裝的公用類別取代這些類別。
我可以在 Java 8 和 Java 11 之間進行流量分配嗎?
是的,每個服務或模組版本都可以使用不同的執行階段版本,且支援流量分割。
當執行個體未收到要求時,會如何處理 Java 8 執行緒?
使用 App Engine API 建立的執行緒將會繼續像以前一樣運作。
自動調整資源配置 | 手動調整資源配置 | 基本資源配置 |
---|---|---|
執行個體因沒有任何要求而終止。 | 執行個體在最後一個要求之後終止 (預設值:5 分鐘) | 永久執行。 |
App Engine Java 8 執行階段中支援哪些中繼資料伺服器功能?
App Engine Java 8 執行階段支援以下中繼資料伺服器網址:
/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
Metadata Server 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
為什麼我的要求無法回應?
如果您是針對要求而建立執行緒集區,則必須確保在目前的要求終止之前將其明確關閉。