diff --git a/.changes/next-release/bugfix-AWSSDKforJavav2-c5cff7a.json b/.changes/next-release/bugfix-AWSSDKforJavav2-c5cff7a.json new file mode 100644 index 000000000000..6774900002ec --- /dev/null +++ b/.changes/next-release/bugfix-AWSSDKforJavav2-c5cff7a.json @@ -0,0 +1,6 @@ +{ + "type": "bugfix", + "category": "AWS SDK for Java v2", + "contributor": "jencymaryjoseph", + "description": "Deprecated DefaultCredentialsProvider.create() since it creates Singleton instance" +} diff --git a/core/auth/src/main/java/software/amazon/awssdk/auth/credentials/DefaultCredentialsProvider.java b/core/auth/src/main/java/software/amazon/awssdk/auth/credentials/DefaultCredentialsProvider.java index c0e46006c2a3..083cd93e30d3 100644 --- a/core/auth/src/main/java/software/amazon/awssdk/auth/credentials/DefaultCredentialsProvider.java +++ b/core/auth/src/main/java/software/amazon/awssdk/auth/credentials/DefaultCredentialsProvider.java @@ -74,10 +74,15 @@ private DefaultCredentialsProvider(Builder builder) { } /** - * Returns the singleton instance of the {@link DefaultCredentialsProvider} using the default configuration. - * Configuration can be specified by creating an instance using the {@link #builder()}. If you want to + * Returns the singleton instance of the {@link DefaultCredentialsProvider} using the default configuration. + * Configuration can be specified by creating an instance using the {@link #builder()}. If you want to * create a new instance, use {@link #builder()} instead. + * + * @deprecated The create() method that returns a singleton instance which can cause issues if one client closes the provider + * while others are still using it. Use {@link #builder().build()} to create independent instances, which is the + * safer approach and recommended for most use cases. */ + @Deprecated public static DefaultCredentialsProvider create() { return DEFAULT_CREDENTIALS_PROVIDER; }