小编Ctr*_*rlX的帖子

Google Appengine和云存储:AppIdentity服务引发了意外错误

我正在尝试按照谷歌中的示例使用GcsExampleServlet.java 设置Google云端存储文件上传.我已经完成了所有步骤但是当我将项目部署到aggengine并且我尝试在GCS中上传一个简单的文本时,它失败了这个日志:

com.google.appengine.tools.cloudstorage.NonRetriableException: com.google.appengine.tools.cloudstorage.NonRetriableException: com.google.appengine.api.appidentity.AppIdentityServiceFailureException: 
The AppIdentity service threw an unexpected error. Details: 
at com.google.appengine.tools.cloudstorage.RetryHelper.doRetry(RetryHelper.java:120)
at com.google.appengine.tools.cloudstorage.RetryHelper.runWithRetries(RetryHelper.java:166)
at com.google.appengine.tools.cloudstorage.RetryHelper.runWithRetries(RetryHelper.java:156)
at com.google.appengine.tools.cloudstorage.GcsServiceImpl.createOrReplace(GcsServiceImpl.java:70)
at com.appart.storage.server.GcsExampleServlet.doPost(GcsExampleServlet.java:88)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
(...)
Run Code Online (Sandbox Code Playgroud)

仍然,代码中没有任何复杂的...在web.xml中我已经配置了servlet:

<servlet>
  <servlet-name>GcsExample</servlet-name>
    <servlet-class>
      com.example.server.GcsExampleServlet
    </servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>GcsExample</servlet-name>
  <url-pattern>/gcs/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

这是servlet GcsExampleServlet.java(与google示例完全相同):

@SuppressWarnings("serial")
public class GcsExampleServlet extends HttpServlet {

  private final GcsService gcsService = GcsServiceFactory.createGcsService(new RetryParams.Builder()
      .initialRetryDelayMillis(10)
      .retryMaxAttempts(10)
      .totalRetryPeriodMillis(15000)
      .build());     
  //...
  @Override
  public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException 
  {
    GcsOutputChannel outputChannel =
    gcsService.createOrReplace(getFileName(req), …
Run Code Online (Sandbox Code Playgroud)

java google-app-engine google-cloud-storage

8
推荐指数
1
解决办法
822
查看次数

Java.util.scanner错误处理

我正在帮助一个有java问题的朋友.但是,我们遇到了障碍.我们使用Java.Util.Scanner.nextInt()从用户那里获取一个数字,不断询问用户是否提供了其他内容.唯一的问题是,我们无法弄清楚如何做错误的handeling.

我们尝试过的:

do {
  int reloop = 0;
  try {
    number = nextInt(); 
  } catch (Exception e) {
    System.out.println ("Please enter a number!");
    reloop ++; 
  }
} while(reloop != 0);
Run Code Online (Sandbox Code Playgroud)

唯一的问题是,如果您输入的不是数字,这将无限循环.

有帮助吗?

java java.util.scanner

6
推荐指数
1
解决办法
3万
查看次数