Java 11标准环境与ApiProxy不兼容?
我在AppEngine的Java11标准环境中运行了一个应用程序,我想确保在特定版本的应用程序(创建任务的应用程序)上调用任务。我可以将Java 11标准环境与ApiProxy不兼容?,java,google-app-engine,java-11,Java,Google App Engine,Java 11,我在AppEngine的Java11标准环境中运行了一个应用程序,我想确保在特定版本的应用程序(创建任务的应用程序)上调用任务。我可以将AppEngineRouting字段添加到任务创建请求中以实现这一点,但有一个缺点:通常,可以使用ApiProxy.getCurrentEnvironment().getVersionId()访问版本ID,或者至少它以前是在古老的Java 8标准环境下。在Java11下,ApiProxy.getCurrentEnvironment()对我来说总是null 我是否
AppEngineRouting
字段添加到任务创建请求中以实现这一点,但有一个缺点:通常,可以使用ApiProxy.getCurrentEnvironment().getVersionId()
访问版本ID,或者至少它以前是在古老的Java 8标准环境下。在Java11下,ApiProxy.getCurrentEnvironment()
对我来说总是null
我是否遗漏了什么,或者
ApiProxy
是否已经被秘密地“弃用”了Java11标准?如果是这样的话,目前被接受的获取应用程序、版本和服务ID等信息的方法是什么,或者在请求截止日期前剩余的毫秒数是多少?环顾四周后,我意识到在Java 11标准环境系统下,这些都可以作为应用程序引擎集envvars[1]使用。如果需要获取以前在ApiProxy
中可用的内容,最好是通过System.getenv(字符串名称)
读取相应的变量
此外,您可以在app.yaml
文件中设置自定义环境变量,而无需通过-Dname=value
将它们传递给您的程序
[1]