使objectify抑制memcache异常

alo*_*loo 3 java google-app-engine objectify

@Cached在我的实体上使用了objectify的注释.显然,这意味着每当我对我的实体执行PUT时,它也会将其写入memcache.然而,最近,我已经看到memcache关闭了appengine,因此objectify无法写入memcache的权利(写入数据存储区很好).

然而,在这个失败中,objectify会抛出memcache异常 - 具体来说: com.google.appengine.api.memcache.MemcacheServiceException: Memcache put: Set failed to set 1 keys:

有没有办法让客观化不抛出这些例外?它们相对无害,我不想在任何地方添加尝试/捕获.

小智 5

这实际上是MemcacheService实现的一个已知问题.默认情况下,它应该使用LogAndContinueErrorHandler,它只能记录错误然后继续无害.

不幸的是,当异步API的内存缓存服务实施以来,他们错误地打破了使用错误处理的-没有在GAE问题跟踪一个开放的问题,在这里,你可以出演.

因此,这为您提供了两个选项 - 编辑Objectify的源代码,并在它们到达之前捕获/忽略所有异常,或者等待GAE SDK中底层MemcacheService实现的修复.