0

我正在我的机器上试验“数据存储”。使用此代码。

            Key parentKey = KeyFactory.createKey("parent", "parentId");
            try {
    //          Entity parent = new Entity("parent", "parentId");
    //          parent.setUnindexedProperty("property1", "value1");
    //          ds.put(parent);
                Entity savedParent = ds.get(parentKey);
    //          savedParent.setUnindexedProperty("property1", "value3");
    //          ds.put(savedParent);
    //          Entity child = new Entity("child", "childId", savedParent.getKey());
                Entity child = ds.get(KeyFactory.createKey(savedParent.getKey(), "child", "childId"));
                child.setUnindexedProperty("property1", "val2");
                ds.put(child);
    //          logger.info("Saved child.");
            } catch (EntityNotFoundException e) {
                throw new RuntimeException(e);
            }

首先,我保存了父实体并将其属性设置为“value2”,然后我添加了一个具有属性 val1 的子实体。然后我将父属性更新为 value3。然后我将子属性更新为 val2。然后我在管理控制台中发现,父属性的值又回到了 value2。我又重复了一遍,结果相同。我错过了什么吗?或者这是某种错误?

4

1 回答 1

0

我想,这是最终一致性的体现,对吧?我在一个新的 JVM 实例中运行每个步骤,认为在我关闭它时必须存储值:-。与常识相矛盾,但在模拟最终一致性方面是正确的......

于 2013-01-28T00:17:26.647 回答