Java 如何从“a”重定向;“小”;将我的应用程序版本添加到“a”;“大”;版本

Java 如何从“a”重定向;“小”;将我的应用程序版本添加到“a”;“大”;版本,java,google-app-engine,Java,Google App Engine,我已经将我的Google应用程序引擎应用程序分为一个小版本(经常使用的bits——用户界面等)和一个大版本(所有小版本加上管理屏幕、cron workers等) 计划是,GAE应该能够非常快速地加载我的小版本,并为来自每个实例的大量请求提供服务,因为内存需求很小。大版本将加载用于管理屏幕和cron工作,需要Guice、模板库、apachecommons等 问题是,当用户点击“管理员”选项卡时,他们需要自动转移到大版本-我如何生成此链接?我希望我的应用程序版本如下: small-1.myapp.a

我已经将我的Google应用程序引擎应用程序分为一个小版本(经常使用的bits——用户界面等)和一个大版本(所有小版本加上管理屏幕、cron workers等)

计划是,GAE应该能够非常快速地加载我的小版本,并为来自每个实例的大量请求提供服务,因为内存需求很小。大版本将加载用于管理屏幕和cron工作,需要Guice、模板库、apachecommons等

问题是,当用户点击“管理员”选项卡时,他们需要自动转移到大版本-我如何生成此链接?我希望我的应用程序版本如下:

small-1.myapp.appspot.com

big-1.myapp.appspot.com

small-2.myapp.appspot.com

big-2.myapp.appspot.com

等,当用户请求小代码中不可用的页面时,将用户从small-1重定向到big-1

我已尝试使用SystemProperty.applicationVersion,但它似乎不包含应用程序版本字符串。

您确定吗

com.google.appengine.api.utils.SystemProperty.applicationId.get()
不会生成应用程序的ID(
myapp
,在您的情况下),或者

不会生成正在运行的应用程序的主要版本(例如:
small-1[timestamp]
)(您必须去掉时间戳)

否则,由于您已经知道应用程序ID和版本号,您能否在
appengine web.xml
中声明新的系统属性并使用这些值


尽管如此,您可能需要考虑一个更清洁的替代方案:只需一个应用程序(这样就少了维护和上传到GAE的工作),或者为您的管理部分执行惰性初始化,或者执行我所做的工作,并在应用程序启动时将初始化初始化为排队任务。

< P>当您想使用和维护不同版本时,您可以使用流量拆分:

否,在这种情况下,流量拆分不适用——用户希望控制哪些请求转到哪个版本。这似乎是正确的。您看到的SystemProperty.applicationVersion的值是多少?如果它不包含当前版本,这似乎是一个错误,你应该提交一个。谢谢你的帮助。事实证明,我看到的是与我所想的不同的版本。我正在看一个名为“1”的版本,但希望在我的应用程序版本中看到“small-1”。
com.google.appengine.api.utils.SystemProperty.applicationVersion.get()