【问题标题】:Handling Async save errors in objectify在 objectify 中处理异步保存错误
【发布时间】:2016-01-05 14:39:01
【问题描述】:

我有一个对象,用于在 App Engine 上使用 Objectify 进行临时数据存储。

当我保存我的实体时,如果它抛出 ApiProxy.RequestTooLargeException 我会清除一些数据并重新保存。我想异步执行此操作,但不知道如何捕获和处理异步保存错误。

同步保存效果很好,如下所示:

private void save() {
    try {
        ofy().save().entity(this).now();
    } catch (ApiProxy.RequestTooLargeException e) {
        clearOldData();
        save();
    }
}

如何使用异步保存做类似的事情?

【问题讨论】:

    标签: java google-app-engine objectify


    【解决方案1】:

    只有在调用 now() 方法时才会出现异常。所以保存Result<?> 对象并在你准备好时调用now()。如果需要,请使用过滤器和本地线程;这实际上就是 Objectify 所做的。

    如果您正在寻找回调样式的异步接口,它们并不存在。他们不会比持有Result<?>s 直到请求结束并自己完成它们更好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-25
      • 1970-01-01
      • 2018-07-29
      • 2016-03-30
      • 2011-04-11
      • 1970-01-01
      相关资源
      最近更新 更多