【发布时间】:2015-01-10 01:57:30
【问题描述】:
我正在使用 Google Apps Engine SDK 1.9.12 在本地测试一些代码。我添加了一个 servlet 侦听器来用 2 个命名空间初始化内存缓存。我在方法 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(生产)上?还是在本地运行项目?应用引擎 SDK jar 是否已添加到您的项目中?
-
我在本地使用。 App Engine SDK 1.9.12 jar 被添加到项目中。我正在使用 Memcache API 来设置值并且它可以工作。
标签: java google-app-engine memcached