我正在开发一个网络应用程序以在 Google 的 AppEngine 或具有文件存储的基本服务器上运行(它可能不会保持这种状态,但这是当前状态)。
如何检测 AppEngine 服务(最重要的是 blobstore)在运行时是否可用?
我尝试使用如下代码:
try{
Class.forName( "com.google.appengine.api.blobstore.BlobstoreServiceFactory" );
logger.info( "Using GAE blobstore backend" );
return new GAEBlobService();
}catch( ClassNotFoundException e ){
logger.info( "Using filesystem-based backend" );
return new FileBlobService();
}
但它不起作用,因为 BlobstoreServiceFactory 在编译时可用。如果尝试在没有 GAE 服务器的情况下使用 GAE 的 blobstore 会失败如下:
com.google.apphosting.api.ApiProxy$CallNotFoundException: The API package 'blobstore' or call 'CreateUploadURL()' was not found.