【问题标题】:Preloading content in a GWT+AppEngine application在 GWT+AppEngine 应用程序中预加载内容
【发布时间】:2012-06-11 18:48:34
【问题描述】:

我有一个使用 GWT+AppEngine 构建的应用程序,用于自动创建测验:

  1. 主页上有一个“创建新测验”按钮。

  2. 单击该按钮会激活后端的服务,该服务会创建测验并将其返回。

  3. 然后主页会显示测验。

测验创建需要很多时间,所以我想在用户回答测验时预加载测验:显示测验后,我在后端激活另一个服务,创建下一个测验并保持它在一个局部变量中。当用户再次点击“创建新测验”时,后端会注意到有一个预先创建的测验,并立即返回。

这在我的计算机上的开发模式下运行良好,但在部署到 AppEngine 时不起作用。

后端似乎有几个副本及其所有局部变量,因此“预加载”服务在一个副本上运行,“返回新测验”在另一个副本上运行,并且不使用预装测验。

是这样吗?我的后端有多少个副本?如果数量不变,我可以运行“预加载测验”几次,每个副本一个。

【问题讨论】:

    标签: google-app-engine gwt


    【解决方案1】:

    这个数字不是恒定的,你不应该假设你的后端服务器可以这样工作。

    您必须使用提供的服务(如 memcache 和数据存储)在请求之间进行通信。您基本上应该假设每个请求都由一个完全不同的、全新的应用程序实例来回答。普通内存中的变量在请求之间无法正常工作。

    【讨论】:

    • 太棒了!我刚刚用 JCache 替换了我的地图,它就像一个魅力。
    猜你喜欢
    • 1970-01-01
    • 2015-01-08
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 2020-04-07
    • 2018-05-16
    相关资源
    最近更新 更多