这是我的代码示例:
属性 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 天,但没有任何结果。如果有人有想法,我会很高兴,我做错了什么......