繁体   English   中英

找不到API包“ memcache”或调用“ FlushAll()”

[英]The API package 'memcache' or call 'FlushAll()' was not found

我正在使用Google Apps Engine SDK 1.9.12在本地测试一些代码。 我添加了一个Servlet侦听器,以使用2个名称空间初始化memcache。 我在方法contextDestroyed(ServletContextEvent sce)添加了代码以清除Memcache条目:

MemcacheServiceFactory.getMemcacheService().clearAll();

实际上,这将引发以下异常,并且服务器已关闭:

WARNING: EXCEPTION 
com.google.apphosting.api.ApiProxy$CallNotFoundException: The API package 'memcache' or call 'FlushAll()' was not found.
    at com.google.apphosting.api.ApiProxy$1.get(ApiProxy.java:179)
    at com.google.apphosting.api.ApiProxy$1.get(ApiProxy.java:177)
    at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:88)
    at com.google.appengine.api.memcache.MemcacheServiceImpl.quietGet(MemcacheServiceImpl.java:26)
    at com.google.appengine.api.memcache.MemcacheServiceImpl.clearAll(MemcacheServiceImpl.java:170)
    at com.valeo.general.util.BaseCacheManager.clearAll(BaseCacheManager.java:47)
    at com.valeo.general.listeners.BaseCacheListener.contextDestroyed(BaseCacheListener.java:27)
    at org.mortbay.jetty.handler.ContextHandler.doStop(ContextHandler.java:599)
    at org.mortbay.jetty.webapp.WebAppContext.doStop(WebAppContext.java:505)
    at org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76)
    at org.mortbay.jetty.handler.HandlerWrapper.doStop(HandlerWrapper.java:142)
    at org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76)
    at com.google.appengine.tools.development.JettyContainerService.reloadWebApp(JettyContainerService.java:393)
    at com.google.appengine.tools.development.JettyContainerService$2.filesChanged(JettyContainerService.java:380)
    at org.mortbay.util.Scanner.reportBulkChanges(Scanner.java:486)
    at org.mortbay.util.Scanner.reportDifferences(Scanner.java:352)
    at org.mortbay.util.Scanner.scan(Scanner.java:280)
    at org.mortbay.util.Scanner$1.run(Scanner.java:232)
    at java.util.TimerThread.mainLoop(Unknown Source)
    at java.util.TimerThread.run(Unknown Source)

请帮助我解决此问题。

到App Engine Java框架在contextDestroyed(ServletContextEvent)调用您的代码时,它已经断开了与后端服务(包括内存缓存)的连接。

因此,不幸的是,您无法在关机时使用ServletContextListener来执行内存缓存操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM