我在我的实体上使用了objectify的@Cached注释。显然,这意味着每当我对实体执行PUT操作时,它也会将其写入memcache。然而,最近,我看到appengine上的memcache宕机了,因此objectify无法将实体写入memcache (写入数据存储良好)。
然而,在这个失败中,objectify抛出了memcache异常--具体地说:com.google.appengine.api.memcache.MemcacheServiceException: Memcache put: Set failed to set 1 keys:
有没有办法让objectify不抛出这些异常?它们是相对无害的,我不想到处添加try/catches。
发布于 2012-02-13 16:17:16
这实际上是MemcacheService实现的一个已知问题。默认情况下,它应该使用LogAndContinueErrorHandler,它只应该记录错误,然后继续无害地继续。
不幸的是,当异步API在Memcache服务中实现时,他们错误地破坏了错误处理程序的使用-在GAE问题跟踪器here中有一个开放的问题,你可以启动它。
因此,这给您留下了两个选择--编辑Objectify的源代码,并在它们到达之前捕获/忽略所有异常,或者等待对GAE中底层MemcacheService实现的修复。
https://stackoverflow.com/questions/9257178
复制相似问题