根據我的理解,我想遵循最終釋放資源的最佳做法,以防止任何連接泄漏。這是我在HelperClass中的代碼。java中的try-catch-finally塊
public static DynamoDB getDynamoDBConnection()
{
try
{
dynamoDB = new DynamoDB(new AmazonDynamoDBClient(new ProfileCredentialsProvider()));
}
catch(AmazonServiceException ase)
{
//ase.printStackTrace();
slf4jLogger.error(ase.getMessage());
slf4jLogger.error(ase.getStackTrace());
slf4jLogger.error(ase);
}
catch (Exception e)
{
slf4jLogger.error(e);
slf4jLogger.error(e.getStackTrace());
slf4jLogger.error(e.getMessage());
}
finally
{
dynamoDB.shutdown();
}
return dynamoDB;
}
我的疑問是,因爲最後塊將被無論什麼時候,會把dynamoDB返回空連接,因爲它會在最後塊被關閉,然後執行回語句執行? TIA。
當你嘗試時發生了什麼? –
在調用dynamoDB.shutdown()之前,最好在dynamoDB上做一個空的檢查。 – paramupk
無論異常是否發生,dynamoDB都會關閉。只有在它被使用後纔會關閉。如果你只想連接,爲什麼你甚至需要關閉它,因爲如果出現錯誤,你將不會有連接並拋出null指針異常,如果你得到一個連接,你爲什麼要關閉? – geddamsatish