Java 数据存储中已更新实体的确认

Java 数据存储中已更新实体的确认,java,android,google-app-engine,datastore,Java,Android,Google App Engine,Datastore,我知道这是一个基本的问题,但我在任何地方都找不到答案,也不可能通过反复试验来解决。我有Android应用程序,想在+1之前更新数据存储中的实体。我将请求发送到谷歌应用程序引擎,在那里我获取实体,更新它+1,将实体放入数据存储,并使用response.getWriter().println(“OK”)向Android应用程序发送确认,一切都很好,但如果Android应用程序在发送请求后失去连接,Google应用程序引擎将收到更新entity+1的请求,但确认不会击中Android应用程序。即使我在

我知道这是一个基本的问题,但我在任何地方都找不到答案,也不可能通过反复试验来解决。我有Android应用程序,想在+1之前更新数据存储中的实体。我将请求发送到谷歌应用程序引擎,在那里我获取实体,更新它+1,将实体放入数据存储,并使用
response.getWriter().println(“OK”)向Android应用程序发送确认,一切都很好,但如果Android应用程序在发送请求后失去连接,Google应用程序引擎将收到更新entity+1的请求,但确认不会击中Android应用程序。即使我在Android应用程序中没有得到确认,实体是否会更新+1?如果是,预防这种情况的最佳做法是什么

提前谢谢

代码:


无论确认是否到达客户机,只要您告诉数据存储进行更新,实体就会立即更新


我不知道你为什么要阻止这一点(这是一个非常不寻常的要求),但解决方案将需要两个电话:一个是准备更改,另一个是提交更改。

谢谢你的回答,所以“阻止”它的唯一可能是向Google app engine发送请求以获取实体,在Android应用程序中,生成+1并发送另一个请求将实体放入数据存储?或者是否有任何“更快”的方法,如
if(response.getWriter().println(“OK”)!=fail){datastore.put(entity);}
在打印(“OK”)和该OK到达客户端之间存在时间间隔。这个差距比datastore.put(实体)和print(“OK”)之间的差距要大得多。我不知道你想完成什么。好的,我明白了。谢谢你的帮助。
public class Score extends HttpServlet {
    public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        String update = req.getParameter("update");  //update = 1
        resp.getWriter().println(add(Integer.valueOf(update)));
    }

    public String add(int update) {
        // ...
        Entity entity = datastore.get(key);
        int score = ((Number) entity.getProperty("Score")).intValue();
        score += update;
        entity.setProperty("Score", score);
        datastore.put(entity);
        return "OK";
    }
}