将附件插入Google云端硬盘时,截止日期超出了错误 - Java

时间:2016-08-30 10:33:02

标签: google-app-engine drive

当有更多附件并且正在从代码中将所有附件添加到Google驱动器中时,会出现以下说明的例外情况。

com.google.apphosting.api.DeadlineExceededException 

处理此请求的进程遇到问题,导致它退出。这可能会导致新进程用于您的应用程序的下一个请求。如果经常看到此消息,则可能会在应用程序初始化期间抛出异常。 (错误代码104)

使用以下代码将附件保存到Google云端硬盘中。

 public File insertFile(Drive service, String title, String description,     String mimeType,String parentId , String filename, byte fileByteArray[],
        HttpServletRequest req, HttpServletResponse resp)
    throws MessagingException, ParseException, InterruptedException
{
    try
    {
        File body = new File();
        body.setTitle(title);
        body.setDescription(description);
        body.setMimeType(mimeType);
        if(parentId != null && parentId.length() > 0)
            body.setParents(Arrays.asList(new ParentReference[] {
                (new ParentReference()).setId(parentId)
            }));
        com.google.api.services.drive.Drive.Files.List files = service.files().list();
        FileList fileList = (FileList)files.execute();
        List fileArray = fileList.getItems();
        log.info("fileArray"+fileArray);
        log.info("file Array Size"+fileArray.size());

        File file=null;
        try{
         file = (File)service.files().insert(body, new InputStreamContent(mimeType, new ByteArrayInputStream(fileByteArray))).execute();
        log.info("-----------File----------"+file);
        System.out.println("FileName="+MimeUtility.encodeText(file.getTitle()));
        System.out.println("File URL"+file.getAlternateLink());
        System.out.println("File ID"+file.getId());

        return file;
    }
    catch(DeadlineExceededException e)
    {
         log.info((new StringBuilder("An error occured: ")).append(e).toString());
         //inserted for attachment saving error

         System.out.println("inside exception deadlineexception");
    }
    catch(Exception e)
    {
        log.info((new StringBuilder("An error occured: ")).append(e).toString());

    }
    return null;

}

有人可以建议一种优化代码的方法,以便所有附件都可以将10到15左右的内容保存到Google驱动器中,而不会有任何例外。

0 个答案:

没有答案