2011-06-01 52 views
2

我的理解是,在Jets3t 0.7.4之前,S3端點在S3Service :: setS3EndpointHost處靜態設置。因此,無法使用Jets3t在同一應用程序中使用不同的S3端點將內容獲取/放入S3。JetS3t:Amazon S3:如何動態更改端點

在Jets3t 0.7.4發行說明中寫道 - 「S3Service中不推薦用於生成簽名URL的靜態方法。應該從現在開始使用新的非靜態方法等效方法,以避免依賴於VM範圍的S3端點常量「。

現在有可能動態更改S3端點嗎?如果是的話,該怎麼做..有沒有setS3Endpoint方法可用?

回答

0

jets3t api中沒有這樣的方法。在Jets3t.properties文件中設置端點您可以(理論上)拉入Jets3t.properties文件並使用Java中的助手類對其進行更改,然後創建一個新的s3Service對象,並希望擁有新的配置。

1

您可以設置它是這樣的:

private void setS3Endpoint(final String endpoint) { 
     final Jets3tProperties props = Jets3tProperties.getInstance(Constants.JETS3T_PROPERTIES_FILENAME); 
     props.setProperty("s3service.s3-endpoint", endpoint); 
}