java - 如何从应用程序的 "small"版本重定向到 "big"版本

标签 java google-app-engine

我已将我的 Google App Engine 应用分为一个小版本(常用部分 - 用户界面等)和一个大版本(所有小版本加上管理屏幕、cron 工作人员等)

计划是 GAE 应该能够非常快速地加载我的小版本并满足每个实例的大量请求,因为内存需求很小。大版本将为管理屏幕和 cron 工作加载,并且需要 Guice、模板库、apache-commons 等。

问题是,当用户点击“管理员”选项卡时,需要自动转移到大版本 - 我怎样才能生成这个链接?我希望按如下方式对我的应用程序进行版本控制:

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),或者

com.google.appengine.api.utils.SystemProperty.applicationVersion.get()

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

如果做不到这一点,既然您已经知道您的应用 ID 和版本号,您是否可以不在 appengine-web.xml 中声明新的系统属性并使用这些值?

尽管如此,您可能需要考虑一种更干净的替代方案:只有一个应用程序(维护和上传到 GAE 的工作量要少得多),并且要么为您的管理部分执行延迟初始化,要么执行我所做的操作并放置应用程序启动时初始化为排队任务。

关于java - 如何从应用程序的 "small"版本重定向到 "big"版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10816174/

相关文章:

php - 无法加载 "Symfony\Bridge\Twig\Form\TwigRenderer"运行时

python - 如何在谷歌云中运行python 3?

image - 如何在 Google App Engine 中批量上传图像 BLOB?

google-app-engine - 有关Google容器集群内使用的节点的困惑

java - 导入包并使用实例变量

java - 通过 JTA 使用任意资源

java - Java 是否会优化函数调用以消除运行时不必要的 boolean 比较?

java - 按下警报对话框按钮始终返回 0 值

java - 使用 Spring Boot 在单个 PDF 中渲染表格和图表

python - 如何在 9 月到 5 月期间在 App Engine 中设置 python cron 作业