我使用java GWT开发了我的应用程序,并在google app引擎上部署了我的应用程序。我的访问网址是sample.myappid.appspot.com我想通过代码调用这个网址,所以我喜欢这样: -
URL url;
try {
url = new URL("http://sample.myappid.appspot.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");
if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
// OK
logger.log(Level.SEVERE,"Done okkkkkk");
} else {
// Server returned HTTP error code.
logger.log(Level.SEVERE,"Erorrrrrrr");
}
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
这不是在调用我的网址。所以任何其他解决方案如何使用代码调用我的URL。
任何帮助?
答案 0 :(得分:1)
如果/当您从应用程序的请求处理程序内部向您的应用程序发出请求时,您需要注意,因为您可能会导致无限递归循环,从而使GAE尝试生成新的应用程序实例以尝试为每个此类请求提供服务。可能与您的其他问题有关:while user inactivity of 2mins getting info "This request caused a new process to be started for your application"。
有几种方法可以从内部以编程方式访问您的应用程序,基本上是对应用程序服务命名空间中的路径发出请求(例如/index.html
):
这些内部方法发起的请求是内部生成的,与外部请求无关,可以安全地用于实现应用程序的逻辑(如果滥用,循环仍然可能,但只创建大量活动,它们不是无限的在强制GAE为每个请求生成一个新实例的意义上的重述/死锁。)
您还可以使用应用中的通用网址访问权限(适用于任何网址,不仅适用于您应用的网址),就像外部用户访问您的应用一样。这些对于自动测试您的应用非常有用,但请注意,它们可能比内部访问方法更昂贵,我不建议它们实际实现您应用的逻辑:
这些外部访问方法也会受到无限递归问题的影响,因此请谨慎使用它们。