当前位置:  开发笔记 > 编程语言 > 正文

Java开发服务器错误地抛出FeatureNotEnabled异常?

如何解决《Java开发服务器错误地抛出FeatureNotEnabled异常?》经验,为你挑选了1个好方法。

我有一个java app引擎Web服务,它使用通过Cloud Storage JSON API库访问的Google Cloud Storage.将我的SDK升级到1.19.30后,我开始从一个基本代码中获取异常,该代码从GCS中获取文件.相同的代码在早期的SDK(例如1.19.25)上运行良好,并且在部署到app引擎时也可以正常工作.所以..我想知道开发服务器中是否存在此错误.

目前,我的解决方法是使用较旧的SDK.

例外是:

com.google.apphosting.api.ApiProxy$FeatureNotEnabledException: The Files API is disabled. Further information: https://cloud.google.com/appengine/docs/deprecations/files_api
at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.callInternal(ApiProxyLocalImpl.java:515)
at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:484)
at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:461)
at java.util.concurrent.Executors$PrivilegedCallable$1.run(Executors.java:493)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.concurrent.Executors$PrivilegedCallable.call(Executors.java:490)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)

触发它的方法是:

 private void getFile(HttpServletRequest req, HttpServletResponse resp, FileEntity fe) {
  try {

     GcsFilename filename = new GcsFilename(fe.getBucketName(), fe.getObjectName());
     GcsFileMetadata metadata = GCS.getInstance().getMetadata(filename);
     resp.setContentType(metadata.getOptions().getMimeType());
     GcsInputChannel readChannel = GCS.getInstance().openPrefetchingReadChannel(filename, 0, GCS.BUFFER_SIZE);
     GCS.copy(Channels.newInputStream(readChannel), resp.getOutputStream());
  } catch (IOException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
  }

Adam.. 5

通过对问题跟踪器的测试,看起来这与使用旧版本的appengine-gcs-client(pre 0.5)有关,后者使用了已弃用的Files API.更新库和依赖项应该可以解决问题.



1> Adam..:

通过对问题跟踪器的测试,看起来这与使用旧版本的appengine-gcs-client(pre 0.5)有关,后者使用了已弃用的Files API.更新库和依赖项应该可以解决问题.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有