这是我的代码示例:
属性 props = new Properties();
props.setProperty(KeystoneProperties.CREDENTIAL_TYPE, CredentialTypes.API_ACCESS_KEY_CREDENTIALS);
上下文 = ContextBuilder.newBuilder("hpcloud-objectstorage")
.overrides(道具)
.credentials(api_key, api_secret)
.buildView(BlobStoreContext.class);
存储 = context.getBlobStore();
// 这行得通
Blob blob1 = store.blobBuilder("file1")
.payload("")
。建造();
字符串 blobName1 = store.putBlob(remoteFolderName, blob1);
// 这与消息一起崩溃,您可以在下面看到
Blob blob2 = store.blobBuilder("file2")
.payload("a")
。建造();
字符串 blobName1 = store.putBlob(remoteFolderName, blob2);
执行此代码后收到的异常消息如下:
2012 年 11 月 7 日 7:08:44 PM org.jclouds.logging.jdk.JDKLogger logError
Schwerwiegend:服务器错误后无法重试,命令已超出重试限制 5:[method=HPCloudObjectStorageAsyncApi.putObject, request=PUT https://region-a.geo-1.objects.hpcloudsvc.com/v1/82797321453196/cloudstoretest/file2 HTTP/1.1]
这里是堆栈跟踪:
org.jclouds.http.HttpResponseException:连接到 PUT https://region-a.geo-1.objects.hpcloudsvc.com/v1/82797321453196/cloudstoretest/tada%21 HTTP/1.1 的服务器的文件意外结束
在 org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:179)
在 org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:135)
...
我没有任何线索,可能是什么问题。我正在寻找可能的解决方案 2 天,但没有任何结果。如果有人有想法,我会很高兴,我做错了什么......