[英]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.