java - Appengine 无法从数据存储中检索实体

标签 java google-app-engine

我已经设置好应用引擎,它可以在我的本地主机上运行,​​我打电话

Entity greeting3 = new Entity(KeyFactory.createKey("World", "world3"));
greeting3.setProperty("raw", "2.2 # # # .");
datastore.put(greeting3);

添加我的实体,我可以在控制台中看到它们已添加。然后我用

Query q = new Query("World");
PreparedQuery pq = datastore.prepare(q);
for (Entity result : pq.asIterable()) {
    resp.getWriter().println(result);
}

检索实体。它在本地主机上运行完美,但在服务器上我无法收到所有添加的实体的列表。尽管第一个代码确实添加了它们。我也用

e = datastore.get(KeyFactory.createKey("World", req.getParameter(k)));
resp.getWriter().println(e.getProperty("raw"));

在本地主机上它也能正常工作,但在互联网上,它会抛出“找不到实体异常”。我试过手动添加数据存储索引,但没有帮助。 我整天都在工作,现在真的让我很沮丧 :( 我也很确定它昨天有效...... 请帮忙 谢谢

最佳答案

如果在将实体放入数据存储区后很快运行查询,则此问题可能是因为应用引擎数据存储区不是“immediately consistent”。是“eventually consistent

您可以在运行查询之前等待几秒钟(也许 10 秒?)来测试它。

如果这是错误,那么您应该查看 docs 中的应用引擎数据存储概述。

关于java - Appengine 无法从数据存储中检索实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15706508/

相关文章:

google-app-engine - ANCESTOR查询解析错误: Using DISTINCT

java - DDD (java) 聚合根和持久性

java - Android: fragment findViewById 内的选项卡返回 null?

java - Tolven 源代码到 Eclipse 项目结构

java - MongoOperations - upsert/findAndModify 删除 mongo 中的所有字段

android - 如何使用多个 OAUTH 提供商在 App Engine 上安全地注册用户?

google-app-engine - Google Apps 域上的 Google App Engine

database - Appengine 的 NDB 中的 context.map_query 和 qry.map_async 有什么区别?

python - 谷歌应用引擎 : Increasingly long time to read data

java - 如何在Intellij IDEA中找到注释的Processor类?