Google已将Java 11添加为App Engine上的第二代运行时,这是Google Cloud上完全托管的平台即服务。 App Engine上的第二代运行时允许开发人员使用受支持语言的任何版本,框架,库或二进制文件,而第一代运行时严格限制了这些。
Java 11当前在App Engine的beta阶段提供,使用户可以访问标准Java的最新长期支持版本,以部署无服务器应用程序。 Java 11的第二代App Engine运行时基于gVisor容器沙箱 ,该沙箱有助于为容器提供安全隔离。 运行时还处理安全任务,例如应用程序和操作系统安全补丁和更新。
借助Java 11 JDK ,开发人员可以使用诸如var关键字的高级类型推断之类的功能,并创建具有不可变集合的列表或映射。 HttpClient支持允许调用远程主机。 开发人员还可以使用Java 9中引入的Java平台模块系统。但是,Java 11运行时不再提供基于servlet的运行时。 结果,开发人员将需要以可执行JAR的形式将服务器与应用程序捆绑在一起。
同样,第二代运行时意味着开发人员可以使用他们选择的框架和类以及诸如Spring Boot或Vert.x之类的技术。 还支持本机依赖关系,还支持其他JVM语言,例如Groovy,Kotlin和Scala。
在App Engine上的部署是使用app.yaml文件完成的,开发人员在其中指定runtime: java11
。 通过在app.yaml
指定一个额外的entrypoint
参数,开发人员可以自定义Java命令标志。 开发人员可以在Google Cloud上免费试用Google App Engine 。 谷歌本周还宣布了Go 1.12(golang)和PHP 7.3的第二代运行时。
From: https://www.infoworld.com/article/3403355/google-app-engine-adds-java-11-runtime.html