我正在寻找这个问题的解决方案,但似乎很难.我有一个appengine项目与一个处理注册的servlet一起工作.当我尝试调用此servlet时,我有这个日志报告:
012-04-19 10:31:06.816 /register 500 90ms 0kb Apache-HttpClient/UNAVAILABLE (java 1.4)
ip - gecodroidtest [19/Apr/2012:10:31:06 -0700] "POST /register HTTP/1.1" 500 0 - "Apache-HttpClient/UNAVAILABLE (java 1.4)" "cloudnotifyit.appspot.com" ms=90 cpu_ms=58 api_cpu_ms=0 cpm_usd=0.001738 instance=00c61b117c772731eb45290bfcb07750c0505f
W 2012-04-19 10:31:06.794
com.cloudnotify.server.servlet.RequestInfo processRequest: xxxxxxxxxxxx@xxxx //just for me
W 2012-04-19 10:31:06.810
Error for /register
java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
at com.google.appengine.runtime.Request.process-240c2ffe1bf8ddba(Request.java)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at org.apache.xerces.parsers.AbstractDOMParser.startDocument(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(Unknown Source)
at org.apache.xerces.impl.XMLVersionDetector.startDocumentParsing(Unknown Source)
at …Run Code Online (Sandbox Code Playgroud) 如果我threadsafe: true在我的app.yaml文件中设置了什么规则来管理何时创建新实例来提供请求,而不是在现有实例上创建新线程?
如果我有一个应用程序在每个请求上执行一些计算密集的东西,那么多线程会给我带来什么吗?换句话说,实例是多核实例还是单核?
或者,当现有线程在IO上等待时,新线程是否只会启动?
我想完全转让谷歌云项目的所有权.完全我的意思是,而不是在多个用户之间共享所有权,从项目中删除我的帐户.有什么办法吗?
提前致谢
google-app-engine administration google-compute-engine google-cloud-platform
我们对App Engine对Google Cloud Endpoints的支持感到非常兴奋.
也就是说我们还没有使用OAuth2,并且通常使用用户名/密码对用户进行身份验证,以便我们可以支持没有Google帐户的客户.
我们希望将API迁移到Google Cloud Endpoints,因为我们可以免费获得所有好处(API控制台,客户端库,健壮性......),但我们的主要问题是......
如何向我们之前在现有API中检查有效用户会话+ CSRF令牌的云端点添加自定义身份验证.
有没有一种优雅的方法来实现这一点,而无需在protoRPC消息中添加会话信息和CSRF令牌等内容?
正确配置开发服务器和生产服务器之后,我想在Google App Engine上设置一个临时环境,可以在将新版本部署到生产环境之前对其进行实时测试.
我知道两种不同的方法:
答:第一个选项是修改app.yaml 版本参数.
version: app-staging
Run Code Online (Sandbox Code Playgroud)
我不喜欢这种方法的是生产数据受到我的临时测试的污染,因为(如果我错了,请纠正我):
关于第一点,我不知道是否可以使用新的命名空间python API "修复"它.
B.第二个选项是修改app.yaml 应用程序参数
application: foonamestaging
Run Code Online (Sandbox Code Playgroud)
通过这种方法,我将创建一个完全独立于Production版本的第二个应用程序.
我看到的唯一缺点是我被迫配置第二个应用程序(管理员设置).
使用像Gaebar这样的备份\还原工具,此解决方案也可以正常运行.
您使用什么样的方法为Web应用程序设置临时环境?
另外,在部署之前,您是否有任何自动脚本来更改yaml?
我知道其他人已经尝试解决这个问题,但迄今为止找到了合适的答案.
错误是,在启动时,eclipse会挂起"Android SDK:解析错误标记",如果我尝试与它进行交互,它会完全冻结,我不得不强制退出.
这是进度对话框: 
我觉得很奇怪,它需要多次解决错误标记,但我认为这只是我工作区中的每个项目.
这是我的eclipse.ini:

需要注意的是,我工作区中当前存在的所有内容都是Android应用程序,应用程序之前的App引擎端点项目以及4个需要引用的库.所有提及的项目都是开放的 这是我超载IDE的问题,或者是否有一些循环我把它扔进去了?我发现很难想象这是一个独特的情况.
更新:当我从工作区删除应用程序引擎端点项目并重新启动eclipse时,它加载正常.当我把它带回来时,一切都很好.但是当我从那里重新启动时,它再次进入错误循环.我确信我在那里有一个循环引用,但我无法弄清楚在哪里.谢谢你的帮助.
显然,根据以下内容,我不需要"Maps API密钥"来使用"Google Geocoding API":
http://code.google.com/apis/maps/documentation/geocoding/index.html
但是,我得到了这个:
{
"status": "REQUEST_DENIED",
"results": [ ]
}
Run Code Online (Sandbox Code Playgroud)
这是否意味着我的IP被阻止了?我该怎么做才能克服这个问题?
我正在尝试构建一个调用类似于以下内容的JSP页面的Servlet:
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException, ServletException {
req.getRequestDispatcher("/WEB-INF/main.jsp").forward(req, resp);
}
Run Code Online (Sandbox Code Playgroud)
我需要这个Servlet来响应域的根(例如:http://example.com/)所以我在web.xml中使用以下映射:
<servlet-mapping>
<servlet-name>MainServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是它匹配一切,所以当调度程序转发到"/WEB-INF/main.jsp"时,这与url-pattern匹配,以便Servlet再次运行.这会产生一个循环,直到它以java.lang.StackOverflowError消失.
如何在不阻止其他脚本运行的情况下匹配根目录?
谁能给我一些关于如何将我的rails应用程序部署到GAE的指示?我一直在阅读它,但它似乎是一个相当复杂的任务.
我试过google-appengine宝石,但它也不是一块蛋糕.
DataMapper适配器是否有任何进展,或者我需要更改模型?
我希望看到一个关于它的完整细节教程,但我发现的那些有点过时了.